/* =====================================================================
   Breaking Analytics: WordPress restyle
   Loads after FitNote's stylesheet and its customizer inline CSS. The
   tokens at the top are the same ones the static pages use
   (themes/prototype-a3.css), so the two halves of the site share one
   palette and one type system.
   ===================================================================== */

/* ---------- tokens ---------- */
:root{
  --paper:#FAFAFA;--tint:#FFFFFF;--ink:#1F1F1F;--ink-2:#3B3B3B;--muted:#666666;
  --rule:#DDDDDD;--rule-soft:#ECECEC;
  --red:#B04408;--red-soft:#FDEFE8;--red-deep:#8A3506;
  --amber:#7A5A12;
  --f-display:"Antonio",Impact,sans-serif;
  --f-body:"Newsreader",Georgia,serif;
  --f-mono:"Roboto Mono",monospace;
  --wrap:1120px;--gutter:22px;

  /* FitNote's own variables, pointed at ours so anything we do not touch
     directly still lands in the palette. */
  --wpi--base-bg-color:var(--paper);
  --wpi--base-text-color:var(--ink-2);
  --wpi--base-border-color:var(--rule);
  --wpi--link-color:var(--ink);
  --wpi--link-hover-color:var(--red);
  --wpi--primary-bg-color:var(--red);
  --wpi--primary-text-color:#FFFFFF;
  --wpi--secondary-bg-color:var(--ink);
  --wpi--secondary-text-color:#FFFFFF;
  --wpi-submenu-bg-color:var(--paper);
  --wpi-submenu-text-color:var(--ink-2);
  --wpi--preloader-bg:var(--paper);
  --wpi--preloader-color:var(--red);
  --wpi--font-general:var(--f-body);
  --wpi--font-size-general:17px;
  --wpi--site-title-font-family:var(--f-display);
  --wpi--font-family-section-heading:var(--f-display);
  --wpi--font-family-large:var(--f-display);
  --wpi--font-family-big:var(--f-display);
  --wpi--font-family-medium:var(--f-display);
  --wpi--font-family-small:var(--f-body);
  --wpi--font-weight-large:700;--wpi--font-weight-big:700;--wpi--font-weight-medium:500;
  --wpi--letter-spacing-large:-.015em;--wpi--letter-spacing-big:-.01em;
  --wpi--line-height-large:.95;--wpi--line-height-big:1;--wpi--line-height-medium:1.05;
  --wpi--font-weight-small:600;--wpi--line-height-small:1.3;
  --wpi--meta-font-family:var(--f-mono);
  --wpi--meta-font-size:11px;
  --swiper-theme-color:var(--red);
  --swiper-pagination-bullet-inactive-color:var(--muted);
}

/* ---------- base ---------- */
body{background:var(--paper);color:var(--ink-2);font-family:var(--f-body);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body .site{background:var(--paper)}
a{color:var(--red)}
a:hover,a:focus{color:var(--red-deep)}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.wrapper{max-width:calc(var(--wrap) + 2 * var(--gutter));padding-left:var(--gutter);padding-right:var(--gutter)}
img{max-width:100%;height:auto}
*,*::before,*::after{border-radius:0!important;box-shadow:none!important}
::selection{background:var(--red-soft)}

/* FitNote's decorative bits: background rings, sparkles, preloader */
body::before,body::after,.site::before,.site::after,
.default-section-header .section-title::before,
.default-section-header .section-title::after,
.default-section-header::before{display:none!important;content:none!important}
#page.site{background-image:none!important}

/* ---------- headings ---------- */
h1,h2,h3,h4,h5,h6,
.entry-title,.entry-title a,.page-title,.section-title,
.woocommerce-loop-product__title,.product_title{
  font-family:var(--f-display);font-weight:700;letter-spacing:-.015em;
  color:var(--ink);font-style:normal;text-transform:none;line-height:1}
h1,.page-title,.product_title{font-size:clamp(34px,5.4vw,56px);line-height:.95}
h2{font-size:clamp(26px,4vw,38px)}
h3{font-size:clamp(20px,2.8vw,26px)}
.entry-title-italic,.entry-title-italic a{font-style:normal}
.entry-title a:hover,.entry-title a:focus,
.woocommerce-loop-product__title:hover{color:var(--red)}

/* Section headers ("TOP PICKS" etc): a kicker rule above, one colour,
   no giant two-tone wordmark. */
.section-header{margin-bottom:18px;padding-bottom:0}
.section-header .section-title{font-size:clamp(28px,4.4vw,44px);font-weight:700;
  text-transform:none;letter-spacing:-.015em;line-height:.95;padding:14px 0 0;
  position:relative;background:transparent;display:block;margin:0}
.section-header .section-title::before{content:"";position:absolute;top:0;left:0;
  width:52px;height:5px;background:var(--red);display:block;mask:none;-webkit-mask:none}
.section-header .section-title .title-first-word{color:inherit}
.header-has-style .section-title{padding-left:0}
.header-has-style .section-title::before{width:52px;height:5px;top:0;transform:none}
.section-header-center .section-title::before{left:50%;transform:translateX(-50%)}

/* Post meta: mono uppercase, like the eyebrows on the trackers */
.entry-meta,.entry-meta a,.post-meta,.posted-on,.byline,.cat-links,.tags-links,
.entry-footer,.wp-block-post-date,.wp-block-post-author,
.woocommerce-result-count,.woocommerce-breadcrumb,.entry-category a,.entry-categories a{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted)}
.entry-meta a:hover,.cat-links a:hover,.entry-category a:hover{color:var(--red)}
.entry-category a,.entry-categories a,.cat-links a{background:transparent;border:1px solid var(--rule);
  padding:3px 8px;color:var(--ink-2)}

/* Body copy in posts and pages */
.entry-content,.page-content,.woocommerce-Tabs-panel,.woocommerce-product-details__short-description{
  font-family:var(--f-body);font-size:17px;line-height:1.65;color:var(--ink-2)}
.entry-content p,.page-content p{margin:0 0 1.1em}
.entry-content a,.page-content a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.entry-content blockquote{border-left:4px solid var(--red);margin:1.4em 0;padding:4px 0 4px 20px;
  font-style:italic;color:var(--ink)}
.entry-content code,.entry-content pre{font-family:var(--f-mono);font-size:14px;background:var(--tint);
  border:1px solid var(--rule)}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:#EDEDED;border-bottom:2px solid var(--red);text-align:left;padding:9px 12px}
.entry-content td{padding:9px 12px;border-bottom:1px solid var(--rule-soft)}

/* Category chips: FitNote cycles seven rainbow colours by position. One
   colour here, as on the trackers. */
.entry-categories{font-family:var(--f-mono);font-weight:400;font-size:10.5px;letter-spacing:.12em}
.entry-categories .has-text-color,
.entry-categories .has-text-color:nth-child(n){color:var(--ink-2)!important}
.entry-categories .has-background-color,
.entry-categories .has-background-color:nth-child(n){background-color:transparent!important;
  color:var(--ink-2)!important;border:1px solid var(--rule);padding:3px 8px}
.entry-categories .has-background-color:hover,.entry-categories .has-background-color:focus{
  background:transparent!important;color:var(--red)!important;border-color:var(--red)}
.entry-categories .has-text-color:hover{color:var(--red)!important}
/* Numbered badges in the popular list */
.wpi-post-number,.post-number,.entry-number,.wpi-popular-number{background:var(--ink);color:#fff;
  font-family:var(--f-display);font-weight:500}

/* Cards and images: flat, square */
.entry-image img,.post-thumbnail img,.wp-post-image{border-radius:0;filter:none}
.card,.post-card,article.post,.wpi-card{background:transparent;border:0}

/* ---------- menu bar (same rules as the static pages) ---------- */
.ba-header{background:var(--paper);position:relative;z-index:50}
.sitenav{border-bottom:1px solid var(--rule);background:var(--paper);
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;
  width:100%;margin:0;padding:13px max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)));box-sizing:border-box}
.nav-brand{font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  letter-spacing:.02em;font-size:19px;color:var(--ink);text-decoration:none;
  line-height:1;margin-right:auto;white-space:nowrap}
.nav-brand:hover{color:var(--red)}
.nav-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;
  list-style:none;margin:0;padding:0}
.nav-i{position:relative;margin:0;padding:0}
.nav-l{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-2);text-decoration:none;
  background:none;border:0;padding:6px 0;cursor:pointer;display:inline-flex;
  align-items:center;gap:5px;white-space:nowrap;line-height:1.2;font-weight:400}
.nav-l:hover{color:var(--red)}
.nav-l.here,.nav-s.here{color:var(--red)}
.nav-i>.nav-l.here{box-shadow:inset 0 -2px 0 var(--red)!important}
.nav-c{font-size:9px;line-height:1}
.nav-sub{display:none;position:absolute;top:100%;left:0;z-index:40;
  min-width:230px;margin:0;padding:6px 0;list-style:none;
  background:var(--paper);border:1px solid var(--rule)}
.nav-sub li{margin:0;padding:0}
.nav-s{display:block;padding:9px 14px;font-family:var(--f-mono);font-size:11px;
  letter-spacing:.04em;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.nav-s:hover{color:var(--red)}
.nav-i.open .nav-sub{display:block}
.nav-i.has-sub:hover::after{content:"";position:absolute;top:100%;left:0;right:0;height:8px}
.nav-toggle{display:none;font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);
  background:none;border:1px solid var(--rule);padding:8px 13px;cursor:pointer}
.nav-toggle:hover{color:var(--red);border-color:var(--red)}
@media (hover:hover){
  .nav-i.has-sub:hover > .nav-sub,
  .nav-i.has-sub:focus-within > .nav-sub{display:block}
  .nav-i.has-sub:hover > .nav-l,
  .nav-i.has-sub:focus-within > .nav-l{color:var(--red)}
}
@media (max-width:820px){
  .nav-toggle{display:inline-block;order:2}
  .nav-list{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;order:3}
  .sitenav.open .nav-list{display:flex}
  .nav-list .nav-i{width:100%;border-top:1px solid var(--rule-soft)}
  .nav-list .nav-l{display:flex;width:100%;padding:13px 0;justify-content:space-between}
  .nav-i.has-sub .nav-sub{position:static;display:none;min-width:0;border:0;padding:0 0 8px 14px}
  .nav-i.has-sub.open .nav-sub{display:block}
}
/* Anything FitNote still tries to draw for its own header */
.site-header-responsive,.site-header-desktop,.menu-modal,.search-modal,
.site-drawer-offcanvas,.site-drawer-overlay,#scrollToTopBtn,#progressBarContainer,
.wpi-header-promote,.top-bar,.site-topbar{display:none!important}
.admin-bar .ba-header{top:0}

/* ---------- buttons and forms ---------- */
button,.button,input[type=submit],input[type=button],.wp-block-button__link,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce input.button.alt,
.wc-block-components-button,.fitnote-ajax-load-button{
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;background:var(--red);color:#FFFFFF;border:1px solid var(--red);
  padding:11px 18px;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s}
button:hover,.button:hover,input[type=submit]:hover,.wp-block-button__link:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover,.wc-block-components-button:hover{
  background:var(--red-deep);border-color:var(--red-deep);color:#FFFFFF}
.woocommerce a.button.added::after{display:none}
input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],
input[type=number],input[type=tel],textarea,select,.woocommerce .input-text,
.woocommerce-input-wrapper .input-text,.wc-block-components-text-input input{
  font-family:var(--f-body);font-size:16px;color:var(--ink);background:var(--tint);
  border:1px solid var(--rule);padding:10px 12px}
input:focus,textarea:focus,select:focus{border-color:var(--red);outline:none}
label{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ---------- WooCommerce ---------- */
.woocommerce ul.products li.product{text-align:left}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--f-display);font-weight:500;font-size:19px;letter-spacing:0;
  line-height:1.1;color:var(--ink);padding:10px 0 4px}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,
.woocommerce div.product span.price,.price,.woocommerce-Price-amount{
  font-family:var(--f-mono);font-size:14px;letter-spacing:.04em;color:var(--ink);font-weight:500}
.woocommerce ul.products li.product .price del,.woocommerce div.product p.price del{color:var(--muted);opacity:1}
.woocommerce ul.products li.product .price ins,.woocommerce div.product p.price ins{
  color:var(--red);text-decoration:none}
.woocommerce ul.products li.product a img{margin:0 0 6px;border:1px solid var(--rule-soft)}
.woocommerce span.onsale{background:var(--red);color:#fff;font-family:var(--f-mono);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px;
  min-width:0;min-height:0;line-height:1.4;top:8px;left:8px;right:auto}
.woocommerce .woocommerce-ordering select{font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.06em;text-transform:uppercase;padding:8px 32px 8px 10px}
.woocommerce div.product .product_title{margin-bottom:6px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-bottom:2px solid transparent;margin:0 18px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--f-mono);font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:10px 0;font-weight:400}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--red)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--rule)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce table.shop_table{border:0;border-top:2px solid var(--red);border-collapse:collapse}
.woocommerce table.shop_table th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);background:#EDEDED;border-bottom:1px solid var(--rule)}
.woocommerce table.shop_table td{border-top:0;border-bottom:1px solid var(--rule-soft)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--tint);border-top:3px solid var(--red);
  font-family:var(--f-body);color:var(--ink-2)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--red)}
.woocommerce-error::before{color:var(--red)}
.woocommerce .quantity .qty{font-family:var(--f-mono)}
.wc-block-components-product-name,.wc-block-cart-item__product a{font-family:var(--f-display);font-weight:500}
.wc-block-components-checkout-step__title,.wc-block-components-title{font-family:var(--f-display)}
.wc-block-components-formatted-money-amount{font-family:var(--f-mono)}

/* ---------- footer ---------- */
.site-footer{--wpi--base-bg-color:var(--paper);--wpi--base-text-color:var(--muted);
  --wpi--link-color:var(--ink-2);--wpi--link-hover-color:var(--red);--wpi--base-border-color:var(--rule);
  background:var(--paper);color:var(--muted);border-top:2px solid var(--red);margin-top:56px}
.site-footer .site-footer-area{padding:22px 0 0}
.site-footer .footer-navigation{border-bottom:0;padding-bottom:0}
.site-footer .footer-menu{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none}
.site-footer .footer-menu a{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-2);text-decoration:none}
.site-footer .footer-menu a:hover{color:var(--red)}
.site-footer .footer-widget-area{padding-top:26px}
.site-footer .widget-title{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);font-weight:400}
.ba-foot{padding:22px 0 26px!important}
.social{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;margin:0 0 18px}
.soc-h{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.soc-list{display:flex;flex-wrap:wrap;gap:8px}
.soc-l{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;border:1px solid var(--rule);padding:7px 12px;
  transition:border-color .15s,color .15s}
.soc-l:hover,.soc-l:focus-visible{color:var(--red);border-color:var(--red)}
.foot-line{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted)}

/* ---------- odds and ends ---------- */
.pagination .page-numbers,.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{font-family:var(--f-mono);font-size:12px;
  letter-spacing:.08em;border:1px solid var(--rule);background:transparent;color:var(--ink-2);padding:8px 12px}
.pagination .page-numbers.current,.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--ink);border-color:var(--ink);color:#fff}
.woocommerce nav.woocommerce-pagination ul{border:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin-right:6px}
.widget ul li a,.wp-block-latest-posts a{font-family:var(--f-body);color:var(--ink)}
.screen-reader-text{clip:rect(1px,1px,1px,1px)!important}
.skip-link{background:var(--ink);color:#fff}
hr{border:0;border-top:1px solid var(--rule)}
.wp-block-separator{border-color:var(--rule)}

/* =====================================================================
   Shop and product layout. FitNote gives WooCommerce a sidebar column
   and the reading-measure widths meant for blog posts, which squeezes
   the grid and the product page into a strip. Take the full wrapper.
   ===================================================================== */
.woocommerce-page .row-group > #primary,.woocommerce .row-group > #primary,
.woocommerce-page #primary.content-area,.woocommerce-page .primary-area{
  flex:0 0 100%!important;width:100%!important;max-width:100%!important;overflow:visible!important}
.woocommerce-page #secondary,.woocommerce-page .widget-area{display:none!important}
.woocommerce-page #site-content,.woocommerce #site-content{padding-top:34px}
.woocommerce-page .entry-details,.woocommerce-page .entry-content,
.woocommerce-page .wpi-single-section,.woocommerce-page .wpi-section-content{max-width:none!important}

/* Result count and sort on one line */
.woocommerce .woocommerce-result-count{float:none;margin:0}
.woocommerce .woocommerce-ordering{float:none;margin:0}
.woocommerce .woocommerce-ordering select{width:auto;min-width:0;background-color:var(--tint);
  border:1px solid var(--rule)}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce .woocommerce-result-count + .woocommerce-ordering{margin-left:auto}
.woocommerce-shop .woocommerce-result-count,.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-result-count,.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-result-count,.tax-product_cat .woocommerce-ordering{
  display:inline-flex;align-items:center;vertical-align:middle;margin-bottom:22px}
.post-type-archive-product .woocommerce-ordering,.tax-product_cat .woocommerce-ordering,
.woocommerce-shop .woocommerce-ordering{float:right}

/* Product grid: an even grid across the full width, whatever the column
   count setting says. */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:36px 28px;margin:0 0 30px;padding:0;clear:both}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  display:flex;flex-direction:column}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;flex:1}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;
  margin:0 0 10px;border:1px solid var(--rule-soft);background:var(--tint)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 0 6px;font-size:18px}
.woocommerce ul.products li.product .price{margin:0 0 12px;font-size:15px}
.woocommerce ul.products li.product .button{margin:auto 0 0;align-self:flex-start;
  padding:10px 16px;font-size:11px}
.woocommerce ul.products li.product .added_to_cart{font-family:var(--f-mono);font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;margin-top:8px;color:var(--red)}

/* Single product: gallery left, details right, everything else full width */
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:36px 56px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary,
.woocommerce div.product .woocommerce-product-gallery{
  float:none!important;width:auto!important;max-width:none!important;margin:0!important}
.woocommerce div.product .woocommerce-product-gallery img{width:100%;border:1px solid var(--rule-soft);
  background:var(--tint)}
.woocommerce div.product .woocommerce-product-gallery__trigger{border:1px solid var(--rule);background:var(--tint)}
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related,
.woocommerce div.product .upsells,.woocommerce div.product .woocommerce-notices-wrapper,
.woocommerce div.product section.related,.woocommerce div.product section.upsells,
.woocommerce div.product .woocommerce-message,.woocommerce div.product .woocommerce-error,
.woocommerce div.product .woocommerce-info{grid-column:1/-1}
.woocommerce div.product .woocommerce-notices-wrapper{order:-1}
.woocommerce div.product .product_title{font-size:clamp(28px,3.6vw,40px);line-height:1;
  letter-spacing:-.01em;margin:0 0 12px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:22px;margin:0 0 18px;
  color:var(--ink)}
.woocommerce div.product .woocommerce-product-details__short-description{font-style:normal;
  font-size:17px;line-height:1.6;color:var(--ink-2);margin:0 0 18px}
.woocommerce div.product .woocommerce-product-details__short-description p{font-style:normal}
.woocommerce div.product p.stock{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;font-style:normal;color:var(--ink);margin:0 0 14px}
.woocommerce div.product p.stock.out-of-stock{color:var(--red)}
.woocommerce div.product form.cart{display:flex;align-items:stretch;gap:10px;margin:0 0 22px}
.woocommerce div.product form.cart div.quantity{float:none;margin:0}
.woocommerce div.product form.cart div.quantity .qty{height:100%;width:64px;border:1px solid var(--rule);
  font-size:14px}
.woocommerce div.product form.cart .button{float:none;margin:0;padding:12px 22px}
.woocommerce div.product .product_meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);font-style:normal;border-top:1px solid var(--rule);
  padding-top:14px;margin-top:18px;line-height:2}
.woocommerce div.product .product_meta > span{display:block}
.woocommerce div.product .product_meta a{color:var(--ink-2);text-decoration:none;font-style:normal;
  border-bottom:1px solid var(--rule)}
.woocommerce div.product .product_meta a:hover{color:var(--red);border-color:var(--red)}
.woocommerce div.product .product_meta span.sku_wrapper span,.woocommerce div.product .product_meta i,
.woocommerce div.product .product_meta em{font-style:normal}
/* Express pay buttons under the cart form: give them a little air and a rule */
.woocommerce div.product .summary .wcpay-payment-request-wrapper,
.woocommerce div.product .summary .wc-stripe-payment-request-wrapper,
.woocommerce div.product .summary #wcpay-express-checkout-element,
.woocommerce div.product .summary .paypal-buttons,
.woocommerce div.product .summary .ppc-button-wrapper,
.woocommerce div.product .summary [id*="ppcp"],.woocommerce div.product .summary [class*="ppcp"]{
  margin-top:10px}
.woocommerce div.product .summary .wcpay-payment-request-wrapper{border-top:1px solid var(--rule);padding-top:14px}
/* Tabs and description */
.woocommerce div.product .woocommerce-tabs{margin-top:14px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;overflow:visible}
.woocommerce div.product .woocommerce-tabs .panel{max-width:70ch;margin:0}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:26px;margin:0 0 12px}
.woocommerce table.woocommerce-product-attributes th{font-family:var(--f-mono);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:transparent;font-style:normal}
.woocommerce table.woocommerce-product-attributes td{font-style:normal}
/* Related products heading */
.woocommerce div.product .related > h2,.woocommerce div.product .upsells > h2,
.woocommerce .cart-collaterals h2,.woocommerce .cross-sells h2{font-size:26px;position:relative;
  padding-top:14px;margin:30px 0 18px}
.woocommerce div.product .related > h2::before,.woocommerce div.product .upsells > h2::before,
.woocommerce .cart-collaterals h2::before,.woocommerce .cross-sells h2::before{content:"";position:absolute;
  top:0;left:0;width:52px;height:5px;background:var(--red)}
@media (max-width:767px){
  .woocommerce div.product{grid-template-columns:1fr;gap:22px}
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);gap:24px 16px}
  .woocommerce div.product .product_title{font-size:30px}
}
@media (max-width:420px){
  .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr}
}
/* Cart and checkout: give the tables the full width too */
.woocommerce-cart #primary,.woocommerce-checkout #primary,.woocommerce-account #primary{max-width:none!important}
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;max-width:420px;float:none;margin-left:auto}
.woocommerce-cart table.cart img{width:72px;border:1px solid var(--rule-soft)}
.woocommerce-cart table.cart td.product-name a{font-family:var(--f-display);font-weight:500;font-size:18px;
  color:var(--ink);text-decoration:none}
.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:auto}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{font-size:24px;margin:20px 0 12px}
.woocommerce form .form-row{margin-bottom:10px}
@media (max-width:767px){.woocommerce-checkout #customer_details{grid-template-columns:1fr}}

/* ---------- fixes, 1.0.3 ---------- */
/* The menu's dropdown buttons are <button>s and were catching the generic
   button styling on hover. The menu wins, whatever state it is in. */
.sitenav .nav-l,.sitenav .nav-l:hover,.sitenav .nav-l:focus,.sitenav .nav-l:active,
.sitenav .nav-i.has-sub:hover > .nav-l,.sitenav .nav-i.open > .nav-l{
  background:none!important;border:0!important;padding:6px 0!important;
  font-weight:400!important;color:var(--ink-2)}
.sitenav .nav-l:hover,.sitenav .nav-l:focus-visible,.sitenav .nav-i.has-sub:hover > .nav-l,
.sitenav .nav-i.open > .nav-l,.sitenav .nav-l.here{color:var(--red)!important}
.sitenav .nav-toggle,.sitenav .nav-toggle:hover{background:none!important;color:var(--ink-2);
  border:1px solid var(--rule)!important;padding:8px 13px!important}
.sitenav .nav-toggle:hover{color:var(--red);border-color:var(--red)!important}
@media (max-width:820px){.sitenav .nav-l{padding:13px 0!important}}
/* Upright prices everywhere; FitNote italicises the Woo price element. */
.woocommerce .price,.woocommerce .price *,.woocommerce-Price-amount,.woocommerce-Price-amount *,
.woocommerce div.product p.price,.woocommerce div.product span.price{font-style:normal!important}
/* Sort dropdown at the same height as the buttons */
.woocommerce .woocommerce-ordering select{padding:9px 32px 9px 12px;line-height:1.2;height:auto}

/* ---------- posts, 1.0.4 ---------- */
/* Breadcrumb: FitNote's year / month / day trail in grey boxes goes; a plain
   mono trail with slashes, like the eyebrow line on the trackers. */
.wpi-breadcrumb-trails{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.wpi-breadcrumb-trails .breadcrumbs span[itemprop="name"]{background:transparent;padding:0;margin:0;
  max-width:none;white-space:normal}
.wpi-breadcrumb-trails .breadcrumbs span[itemprop="name"]::before{display:none}
.wpi-breadcrumb-trails .breadcrumbs ul li{display:inline}
.wpi-breadcrumb-trails .breadcrumbs ul li + li::before{content:"/";margin:0 8px;color:var(--rule)}
.wpi-breadcrumb-trails .breadcrumbs a{color:var(--ink-2);text-decoration:none}
.wpi-breadcrumb-trails .breadcrumbs a:hover{color:var(--red)}
/* The floating previous / next arrows pinned to the window edges are gone;
   the previous / next block at the end of the post covers it. */
.sticky-article-navigation{display:none!important}
/* Post header */
.single .entry-header .entry-categories{margin-bottom:12px}
.single .entry-title{font-size:clamp(34px,5vw,54px);line-height:.95;margin:0 0 14px}
.single .entry-meta,.single .entry-meta-wrapper{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin:0 0 22px}
.single .entry-meta a{color:var(--ink-2);text-decoration:none}
.single .entry-content{font-size:18px;line-height:1.65}
.single .entry-content > p:first-of-type{font-size:19px}
.single .entry-content img,.single .entry-content figure{margin:22px 0}
.single .entry-content h2{font-size:clamp(26px,3.6vw,36px);margin:34px 0 10px;position:relative;padding-top:14px}
.single .entry-content h2::before{content:"";position:absolute;top:0;left:0;width:52px;height:5px;background:var(--red)}
.single .entry-content h3{font-size:24px;margin:26px 0 8px}
/* Previous / next at the foot of a post */
.post-navigation{border-top:1px solid var(--rule);margin-top:40px;padding-top:18px}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:20px}
.post-navigation .nav-subtitle,.post-navigation .meta-nav{font-family:var(--f-mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:4px}
.post-navigation .nav-title,.post-navigation a{font-family:var(--f-display);font-weight:500;font-size:19px;
  color:var(--ink);text-decoration:none;line-height:1.1}
.post-navigation a:hover .nav-title,.post-navigation a:hover{color:var(--red)}
.post-navigation .nav-next{text-align:right}
/* Author box and related posts keep the palette */
.wpi-single-section{border:0;border-top:1px solid var(--rule);margin-top:40px;padding-top:22px}
.wpi-single-section .section-header .section-title{font-size:24px}
.wpi-single-section::after{display:none}
/* Tags */
.entry-tags a,.tags-links a{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--rule);padding:4px 9px;color:var(--ink-2);text-decoration:none;background:transparent}
.entry-tags a:hover,.tags-links a:hover{color:var(--red);border-color:var(--red)}
/* Comments */
.comments-title,.comment-reply-title{font-size:26px}
.comment-author .fn{font-family:var(--f-display);font-weight:500;font-style:normal}
.comment-metadata{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}

/* ---------- front page, 1.1.0 ---------- */
.ba-home{padding:46px 0 10px}
.ba-hero{max-width:820px;margin:0 0 40px}
.ba-hero .eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;position:relative;padding-top:14px}
.ba-hero .eyebrow::before{content:"";position:absolute;top:0;left:0;width:52px;height:5px;background:var(--red)}
.ba-hero h1{font-size:clamp(36px,5vw,58px);line-height:.95;letter-spacing:-.015em;margin:0 0 16px}
.ba-hero .lede{font-size:19px;line-height:1.55;color:var(--ink-2);margin:0;max-width:62ch}
.ba-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;border-top:2px solid var(--red);
  border-bottom:1px solid var(--rule);margin:0 0 52px}
.ba-tiles .tile{display:flex;flex-direction:column;gap:8px;padding:22px 0 24px;text-decoration:none;color:var(--ink-2);
  position:relative}
.ba-tiles .tile + .tile::before{content:"";position:absolute;left:-14px;top:22px;bottom:24px;width:1px;background:var(--rule-soft)}
.ba-tiles .t-eye{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ba-tiles .t-num{font-family:var(--f-display);font-weight:700;font-size:54px;line-height:.9;color:var(--ink);
  display:flex;align-items:baseline;gap:.08em;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.ba-tiles .t-num em{font-style:normal;font-size:.5em;color:var(--muted);font-weight:500}
.ba-tiles .t-num.hot{color:var(--red)}
.ba-tiles .t-name{font-family:var(--f-display);font-weight:700;font-size:28px;line-height:1;color:var(--ink);
  letter-spacing:-.01em}
.ba-tiles .t-sub{font-size:14.5px;line-height:1.45;color:var(--ink-2)}
.ba-tiles .t-go{margin-top:auto;padding-top:8px;font-family:var(--f-mono);font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--red)}
.ba-tiles .tile:hover .t-go{text-decoration:underline;text-underline-offset:3px}
.ba-tiles .tile:hover .t-num,.ba-tiles .tile:hover .t-name{color:var(--red)}
.ba-latest .sec-title{font-family:var(--f-display);font-weight:700;font-size:clamp(28px,4.4vw,44px);line-height:.95;
  position:relative;padding-top:14px;margin:0 0 22px}
.ba-latest .sec-title::before{content:"";position:absolute;top:0;left:0;width:52px;height:5px;background:var(--red)}
.ba-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}
.ba-post{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:0 0 22px;border-bottom:1px solid var(--rule-soft)}
.ba-post:only-child,.ba-post.no-thumb{grid-template-columns:1fr}
.ba-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--tint);border:1px solid var(--rule-soft)}
.ba-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ba-cat{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.ba-post h3{font-size:22px;line-height:1.05;margin:0 0 6px;font-weight:500}
.ba-post h3 a{color:var(--ink);text-decoration:none}
.ba-post h3 a:hover{color:var(--red)}
.ba-date{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.ba-post p{font-size:15px;line-height:1.5;margin:0;color:var(--ink-2)}
.ba-more{margin:26px 0 0;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase}
.ba-more a{color:var(--red);text-decoration:none;border-bottom:1px solid currentColor}
@media (max-width:980px){
  .ba-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
  .ba-tiles .tile + .tile::before{display:none}
  .ba-tiles .tile:nth-child(-n+2){border-bottom:1px solid var(--rule-soft)}
  .ba-posts{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ba-home{padding-top:30px}
  .ba-tiles{grid-template-columns:1fr}
  .ba-tiles .tile{border-bottom:1px solid var(--rule-soft)}
  .ba-tiles .tile:last-child{border-bottom:0}
  .ba-post{grid-template-columns:1fr}
  .ba-thumb{aspect-ratio:16/9}
}

/* ---------- guide pages, 1.1.3 ---------- */
.entry-content .ba-updated{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid var(--rule);padding-bottom:12px;margin-bottom:22px}
.entry-content .ba-updated strong{color:var(--ink);font-weight:500}
.entry-content .ba-sources{font-size:13.5px;line-height:1.8;color:var(--muted);border-top:1px solid var(--rule);padding-top:14px}
.entry-content .ba-sources a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--rule)}
.entry-content .ba-sources a:hover{color:var(--red);border-color:var(--red)}
.entry-content .wp-block-table table{font-size:15px}
.entry-content .wp-block-table td,.entry-content .wp-block-table th{vertical-align:top;line-height:1.45}
.entry-content .wp-block-table td strong{font-family:var(--f-display);font-weight:500;font-size:17px;color:var(--ink)}
.entry-content ol{padding-left:22px}
.entry-content ol li,.entry-content ul li{margin:0 0 8px}
.entry-content h3{font-size:22px;margin:24px 0 6px}
.page .entry-content,.page .entry-content > *{max-width:none}
.page.no-sidebar #primary,.page #primary.primary-area{max-width:none}
@media (max-width:640px){.entry-content .wp-block-table{overflow-x:auto}.entry-content .wp-block-table table{min-width:640px}}
/* 1.1.4: readable measure on guide pages; tables may run wide */
.page .entry-content > p,.page .entry-content > ul,.page .entry-content > ol,
.page .entry-content > h2,.page .entry-content > h3,.page .entry-content > blockquote{max-width:76ch}
.page .entry-content > .wp-block-table{max-width:none}
.page .entry-title{max-width:20ch}

/* ---------- guide design blocks, 1.2.0 ---------- */
/* Pages with a hero: the page title is inside the hero, so hide the theme's own */
.page .ba-hero-cover ~ * .entry-title,.page:has(.ba-hero-cover) .entry-header{display:none}
.page:has(.ba-hero-cover) #site-content{padding-top:0}
.page:has(.ba-hero-cover) .entry-content > .ba-hero-cover:first-child{margin-top:0}
.ba-hero-cover{min-height:440px!important;margin:0 0 0!important}
.ba-hero-cover .wp-block-cover__background{background:linear-gradient(180deg,rgba(16,16,16,0) 0%,rgba(16,16,16,.15) 35%,rgba(16,16,16,.8) 70%,rgba(16,16,16,.97) 100%)!important;opacity:1!important}
.ba-hero-cover .wp-block-cover__image-background{opacity:.85}
.ba-hero-cover .wp-block-cover__inner-container{width:min(1120px,100%);margin:0 auto;padding:110px 22px 34px;box-sizing:border-box}
.ba-hero-eye{font-family:var(--f-mono)!important;font-size:11px!important;letter-spacing:.2em;text-transform:uppercase;color:#FDBE8E!important;margin:0 0 10px!important}
.ba-hero-title{font-family:var(--f-display)!important;font-weight:700!important;font-size:clamp(40px,6.4vw,76px)!important;line-height:.95!important;color:#fff!important;margin:0 0 14px!important;max-width:16ch;letter-spacing:-.015em}
.ba-hero-lede{font-family:var(--f-body)!important;font-size:19px!important;line-height:1.5;color:#E4E4E4!important;max-width:56ch;margin:0!important}
/* stats strip */
.ba-stats{background:#1F1F1F;color:#F4F4F4;border-top:4px solid #EE4F13;margin:0 0 40px!important;padding:0}
.ba-stats-row{width:min(1120px,100%);margin:0 auto!important;gap:0!important}
.ba-stats-row .wp-block-column{padding:24px 22px;border-right:1px solid #333;flex-basis:25%}
.ba-stats-row .wp-block-column:last-child{border-right:0}
.ba-stat-n{font-family:var(--f-display)!important;font-weight:700!important;font-size:46px!important;line-height:.95!important;color:#fff!important;margin:0!important;font-variant-numeric:tabular-nums}
.ba-stat-n.hot{color:#FF8A3D!important}
.ba-stat-l{font-family:var(--f-mono)!important;font-size:10.5px!important;letter-spacing:.14em;text-transform:uppercase;color:#C2C2C2!important;margin:8px 0 0!important}
/* callouts */
.ba-call{border-left:6px solid var(--red);background:var(--red-soft);padding:18px 22px!important;margin:26px 0!important;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:6px 36px;align-items:center;max-width:none!important}
.ba-call.dark{background:#1F1F1F;border-left-color:#EE4F13;color:#F4F4F4}
.ba-call-k{grid-column:1/-1;font-family:var(--f-mono)!important;font-size:10.5px!important;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)!important;margin:0!important}
.ba-call.dark .ba-call-k{color:#FDBE8E!important}
.ba-call-v{font-family:var(--f-display)!important;font-weight:700!important;font-size:34px!important;line-height:1!important;color:var(--ink)!important;margin:0!important}
.ba-call.dark .ba-call-v{color:#FF8A3D!important}
.ba-call-s{font-size:15.5px!important;line-height:1.5;margin:0!important;color:inherit}
/* photo row */
.ba-trio{gap:18px!important;margin:18px 0 26px!important;max-width:none!important}
.ba-trio-img img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-bottom:4px solid var(--red)}
.ba-trio-img figcaption{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--muted);text-align:left;margin:8px 0 0}
/* pull quote */
.ba-pull{font-family:var(--f-display)!important;font-weight:700!important;font-size:clamp(28px,4vw,42px)!important;line-height:1!important;color:var(--red)!important;margin:36px 0!important;max-width:22ch;letter-spacing:-.01em}
/* full-width blocks inside the prose column */
.page .entry-content > .alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.page .entry-content > .ba-call,.page .entry-content > .ba-trio{max-width:none}
@media (max-width:820px){
  .ba-stats-row{flex-wrap:wrap}.ba-stats-row .wp-block-column{flex-basis:50%!important;border-bottom:1px solid #333}
  .ba-call{grid-template-columns:1fr}.ba-hero-cover .wp-block-cover__inner-container{padding-top:80px}
  .ba-trio{flex-direction:column}
}
