/* Monosounds global brand layer on top of Blocksy.
   Palette: ink #0c0d11 / panel #141519 / paper #f1efe8 / brand yellow #ffe600.
   Fonts: PF Din Text Pro (display), Gilroy (body), CodePro (mono meta). */

@font-face{font-family:'PF Din Text Pro';src:url('/wp-content/themes/monosounds/assets/fonts/PFDinTextPro/PFDinTextPro-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'PF Din Text Pro';src:url('/wp-content/themes/monosounds/assets/fonts/PFDinTextPro/PFDinTextPro-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Gilroy';src:url('/wp-content/themes/monosounds/assets/fonts/Gilroy/Gilroy-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'CodePro';src:url('/wp-content/themes/monosounds/assets/fonts/CodeProLC/CodePro-LC.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --ms-ink:#0c0d11;
  --ms-panel:#141519;
  --ms-panel-2:#1a1c22;
  --ms-paper:#f3f4ef;
  --ms-text:#eae9e3;
  --ms-dim:#93959c;
  --ms-dim-2:#6d6f77;
  --ms-line:rgba(255,255,255,.09);
  --ms-line-2:rgba(255,255,255,.14);
  --ms-yellow:#ffe600;
  --ms-yellow-2:#ecd400;
  --ms-din:'PF Din Text Pro','Arial Narrow',system-ui,sans-serif;
  --ms-body:'Gilroy',system-ui,-apple-system,sans-serif;
  --ms-mono:'CodePro',ui-monospace,SFMono-Regular,Menlo,monospace;
}

body{font-family:var(--ms-body)}
h1,h2,h3,h4,.entry-title{font-family:var(--ms-din);font-weight:700;letter-spacing:-.01em}

/* ---------- Header: paper editorial bar with an ink rule ---------- */
header#header [data-row]{background:var(--ms-paper) !important;border-bottom:1px solid #151817}
header#header .ct-container{--container-max-width:1240px}
header#header,
header#header .site-title,
header#header [data-id="cart"] .ct-label,
header#header .ct-icon{color:#151817}
/* Logo lockup: MONOSOUNDS wordmark + mono .studio suffix.
   The real site name stays in the DOM (a11y/schema); pseudo-elements carry the
   art and live ON THE HOME LINK so the whole wordmark is clickable. */
header#header .site-title{font-size:0;line-height:1;color:#151817}
header#header .site-title a{font-size:0;display:inline-flex;align-items:baseline;gap:1px}
header#header .site-title a:before{
  content:'MONOSOUNDS';
  font:700 21px/1 var(--ms-din);letter-spacing:-.025em;color:#151817;
}
header#header .site-title a:after{
  content:'.studio';
  font:400 11px/1 var(--ms-mono);letter-spacing:.14em;text-transform:uppercase;color:#6e7571;
  transition:color .16s ease;
}
header#header .site-title a:hover:after{color:#151817}
/* Nav: one mono voice for every item — kills the mixed weights/sizes coming
   from the customizer (700/uppercase/12px vars vs. the old 14.5px override). */
header#header .ct-menu-link,
header#header [data-id="menu"] > ul > li > a{
  font-family:var(--ms-mono);font-weight:400;font-size:11.5px;line-height:1.3;
  letter-spacing:.09em;text-transform:uppercase;color:#4f5752;
}
header#header .ct-menu-link:hover{color:#151817}
header#header .current-menu-item > .ct-menu-link,
header#header .current-menu-ancestor > .ct-menu-link,
header#header .current_page_item > .ct-menu-link,
header#header .current_page_parent > .ct-menu-link{
  color:#151817;
  text-decoration:underline;text-decoration-color:var(--ms-yellow);
  text-decoration-thickness:2px;text-underline-offset:6px;
}
/* Cart amount next to the icon: price talks in DIN, same as everywhere else */
header#header [data-id="cart"] .ct-label{
  font-family:var(--ms-din);font-weight:700;font-size:14px;
  letter-spacing:0;text-transform:none;color:#151817;
}
header#header [data-id="cart"]:hover .ct-icon,
header#header [data-id="search"]:hover .ct-icon,
header#header [data-id="account"]:hover .ct-icon{color:#151817}
header#header .ct-header-cta .ct-button{background:var(--ms-yellow);color:#151817;border-radius:0;font-family:var(--ms-din);font-weight:700}
header#header .ct-dynamic-count-cart,
header#header .ct-shopping-cart .ct-dynamic-count-cart:before,
header#header [data-id="cart"] [data-count]:not([data-count="0"]):after{background:var(--ms-yellow);color:#151817}

/* Mini-cart flyout: white editorial card (the customizer ships a legacy dark
   #29333C panel with white text — override the vars it feeds Blocksy). */
header#header .ct-cart-content{
  --theme-text-color:#151817;
  --mini-cart-background-color:#fff;
  --mini-cart-divider-color:#d7dbd5;
  --theme-link-initial-color:#151817;
  --theme-link-hover-color:#4f5752;
  width:340px;background:#fff;border:1px solid #151817;border-radius:0;
  box-shadow:0 16px 34px rgba(21,24,23,.14);
}
header#header .ct-cart-content .total{--theme-text-color:#151817}
header#header .ct-cart-content .product-title{
  font-family:var(--ms-body);font-weight:600;font-size:14px;line-height:1.35;color:#151817;
}
header#header .ct-cart-content .woocommerce-mini-cart li .quantity{
  font-family:var(--ms-mono);font-size:11px;letter-spacing:.05em;color:#6e7571;
}
header#header .ct-cart-content .ct-media-container{border:1px solid #d7dbd5;border-radius:0}
header#header .ct-cart-content .woocommerce-mini-cart .remove{color:#9aa09b}
header#header .ct-cart-content .woocommerce-mini-cart .remove:hover{color:#151817}
header#header .ct-cart-content .woocommerce-mini-cart__total{
  font-family:var(--ms-mono);font-size:11px;letter-spacing:.1em;color:#6e7571;
}
header#header .ct-cart-content .woocommerce-mini-cart__total .amount{
  font-family:var(--ms-din);font-weight:700;font-size:16px;letter-spacing:0;color:#151817;
}
header#header .ct-cart-content .woocommerce-mini-cart__empty-message{
  font-family:var(--ms-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6e7571;
}
/* Buttons: ghost "view cart" + yellow "checkout" — one clear primary action */
header#header .ct-cart-content .buttons .button{
  font-family:var(--ms-mono) !important;font-size:11px !important;
  letter-spacing:.06em;text-transform:uppercase;border-radius:0 !important;
}
header#header .ct-cart-content .buttons .button:not(.checkout){
  background:#fff !important;border:1px solid #151817;color:#151817 !important;
}
header#header .ct-cart-content .buttons .button:not(.checkout):hover{
  background:#151817 !important;color:#f3f4ef !important;
}
header#header .ct-cart-content .buttons .button.checkout{
  background:var(--ms-yellow) !important;color:#151817 !important;
}
header#header .ct-cart-content .buttons .button.checkout:hover{
  background:var(--ms-yellow-2) !important;color:#151817 !important;
}

/* ---------- Footer: paper block over a hairline ---------- */
footer.ct-footer,footer.ct-footer [data-row]{background:var(--ms-paper) !important;color:#4f5752}
footer.ct-footer{border-top:1px solid #151817}
footer.ct-footer,footer.ct-footer p,footer.ct-footer .ct-widget{color:#4f5752}
footer.ct-footer a{color:#4f5752}
footer.ct-footer a:hover{color:#151817}
footer.ct-footer .widget-title{font-family:var(--ms-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6e7571}

/* ---------- Buttons: brand yellow, squared ---------- */
.ct-button,button[type=submit],.single_add_to_cart_button,
.woocommerce a.button,.woocommerce button.button,
.wc-block-components-button{
  background-color:var(--ms-yellow) !important;color:var(--ms-ink) !important;
  border:0;border-radius:2px !important;
  font-family:var(--ms-din) !important;font-weight:700 !important;letter-spacing:.01em;
}
.ct-button:hover,button[type=submit]:hover,.single_add_to_cart_button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover{
  background-color:var(--ms-yellow-2) !important;color:var(--ms-ink) !important;
}

/* ---------- WooCommerce catalog: paper editorial listing ---------- */
body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag,body.post-type-archive-product,body.page-id-1078,
body.woocommerce-shop .site-main,body.tax-product_cat .site-main{
  background:var(--ms-paper);
  --theme-text-color:#4f5752;
  --theme-headings-color:#151817;
  --theme-link-initial-color:#151817;
  --theme-link-hover-color:#6e7571;
  --theme-border-color:#d7dbd5;
}

/* Archive hero: tight, typographic, no stray gaps */
body.woocommerce-shop .hero-section,body.tax-product_cat .hero-section{padding:34px 0 0}
body.woocommerce-shop .page-title,body.tax-product_cat .page-title,
.woocommerce-products-header__title{
  color:#151817;font-family:var(--ms-din);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(1.8rem,3.4vw,2.7rem);
}
body.woocommerce-shop [data-vertical-spacing],body.tax-product_cat [data-vertical-spacing]{
  --content-vertical-spacing:28px;
}
.woocommerce-products-header:empty{display:none}

/* Toolbar: dropdown gone (removed server-side too), count in mono */
.woocommerce-ordering{display:none !important}
.woo-listing-top{margin-bottom:22px}
.woocommerce-result-count{
  font-family:var(--ms-mono) !important;font-size:11px !important;letter-spacing:.1em;
  text-transform:uppercase;color:#6e7571 !important;
}

/* Cards: white editorial tiles with hairline rules (front-page v2 language).
   Uniform geometry everywhere: square art, one-line category, title clamped
   to exactly two lines, price+CTA pinned to the bottom — so every card in the
   catalog is the same height and the button never jumps. */
.woocommerce ul.products{align-items:stretch}
.woocommerce ul.products li.product,
[data-products] .product{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid #d7dbd5;border-radius:0;
  overflow:hidden;transition:border-color .16s ease;
}
.woocommerce ul.products li.product{height:100%}
.woocommerce ul.products li.product:hover{border-color:#151817}
.woocommerce ul.products li.product .ct-media-container{order:0;border-radius:0;position:relative;
  aspect-ratio:1/1;width:100%}
.woocommerce ul.products li.product .ct-media-container img,
.woocommerce ul.products li.product .ct-media-container picture{
  width:100%;height:100%;object-fit:cover;
}
/* full tag list is replaced by the single primary category */
.woocommerce ul.products li.product .entry-meta{display:none}
.woocommerce ul.products li.product .ms-card-cat{
  order:1;margin:15px 18px 0;align-self:flex-start;
  font-family:var(--ms-mono);font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;
  color:#6e7571;text-decoration:none;
  max-width:calc(100% - 36px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.woocommerce ul.products li.product .ms-card-cat:hover{color:#151817}
/* hover CTA over the artwork — producer voice, click lands on the product */
.woocommerce ul.products li.product .ct-media-container:after{
  content:'Preview pack \2192';
  position:absolute;left:50%;bottom:16px;transform:translate(-50%,8px);
  padding:10px 16px;background:var(--ms-yellow);color:#151817;
  font-family:var(--ms-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.woocommerce ul.products li.product:hover .ct-media-container:after{opacity:1;transform:translate(-50%,0)}
@media (hover:none){.woocommerce ul.products li.product .ct-media-container:after{display:none}}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
[data-products] .product .woocommerce-loop-product__title{
  order:2;font-family:var(--ms-din);font-weight:700;font-size:17px;line-height:1.2;
  letter-spacing:-.02em;color:#151817;margin:7px 18px 0;
}
/* Exactly two title lines on catalog cards: short names reserve the space,
   long names truncate — the block below never moves. */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-height:2.4em;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title{color:#4f5752}
.woocommerce ul.products li.product .price,
[data-products] .product .price{
  order:4;margin:14px 18px 16px;padding-top:13px;border-top:1px solid #d7dbd5;
  font-family:var(--ms-din);font-weight:700;font-size:18px;color:#151817;
}
.woocommerce ul.products li.product .price{
  margin-top:auto;white-space:nowrap;overflow:hidden;
}
.woocommerce ul.products li.product .price del{color:#6e7571;font-weight:400;font-size:12px;margin-right:7px}
.woocommerce ul.products li.product .price ins{text-decoration:none;background:none}
/* Blocksy wraps the loop button in .ct-woo-card-actions — order the wrapper,
   not the button, so the CTA really is the last row of the card. */
.woocommerce ul.products li.product .ct-woo-card-actions{
  order:5;margin:0 18px 18px;padding:0;position:static;opacity:1;transform:none;
}
.woocommerce ul.products li.product .button{
  order:5;flex:1;margin:0;justify-content:center;
  font-family:var(--ms-mono) !important;font-size:11px !important;
  letter-spacing:.08em;text-transform:uppercase;
}
.woocommerce span.onsale,.ct-woo-card-extra .onsale{
  background:var(--ms-yellow) !important;color:#151817 !important;
  font-family:var(--ms-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  border-radius:0;
}

/* Archive pagination: hairline + ink */
body.woocommerce-shop .ct-pagination .page-numbers,body.tax-product_cat .ct-pagination .page-numbers{
  border:1px solid #d7dbd5;border-radius:0;color:#4f5752;
  font-family:var(--ms-mono);font-size:12px;
}
body.woocommerce-shop .ct-pagination .page-numbers.current,body.woocommerce-shop .ct-pagination .page-numbers:hover,
body.tax-product_cat .ct-pagination .page-numbers.current,body.tax-product_cat .ct-pagination .page-numbers:hover{
  background:#151817;color:#f3f4ef;border-color:#151817;
}

/* ---------- Breadcrumbs / meta: mono voice ---------- */
.ct-breadcrumbs{font-family:var(--ms-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}

/* ---------- Front page: full-bleed dark canvas ---------- */
body.home{background:var(--ms-paper)}
body.home #main .ct-container{max-width:100%;--container-max-width:100%;padding-left:0;padding-right:0}
body.home .entry-content{margin-top:0!important;margin-bottom:0!important}
/* width:100% matters: Blocksy also gives entry-content children width:90%,
   which left-hugs the block and leaves a bogus gap on the right */
body.home .entry-content > *{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
body.home article{margin:0}

/* ---------- Blog: paper editorial (archive + single) ---------- */
body.blog,body.single-post,body.category,body.tag,
body.blog .site-main,body.single-post .site-main{
  background:var(--ms-paper);
  --theme-text-color:#4f5752;
  --theme-headings-color:#151817;
  --theme-link-initial-color:#151817;
  --theme-link-hover-color:#6e7571;
  --theme-border-color:#d7dbd5;
}

/* Journal hero: shop-header language (native archive hero is off) */
.ms-blog-hero{padding:44px 0 6px}
.ms-blog-hero h1{margin:0 0 14px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.045em;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1;text-wrap:balance}
.ms-blog-hero .ms-shop-lead{margin-bottom:6px}
@media(max-width:560px){.ms-blog-hero{padding-top:26px}}

/* Archive cards: white tiles, hairline rules */
body.blog .entries,body.category .entries,body.tag .entries{--grid-columns-gap:16px;--grid-rows-gap:16px}
.entry-card{
  background:#fff;border:1px solid #d7dbd5;border-radius:0;
  overflow:hidden;transition:border-color .16s ease;
}
.entry-card:hover{border-color:#151817}
.entry-card .ct-media-container{border-radius:0}
.entry-card .entry-title{font-family:var(--ms-din);font-weight:700;font-size:19px;line-height:1.25;letter-spacing:-.02em}
.entry-card .entry-title a{color:#151817}
.entry-card .entry-title a:hover{color:#4f5752}
.entry-card .entry-excerpt{color:#4f5752;font-size:14.5px;line-height:1.55;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.entry-card .entry-meta,.entry-card .ct-meta-element{
  font-family:var(--ms-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6e7571;
}
.entry-card .entry-meta a{color:#6e7571}
.entry-card .entry-meta a:hover{color:#151817}
/* one category + one author = noise on cards; the emptied top meta row too */
.entry-card [class*=ct-term-],.entry-card .meta-author{display:none}
.entry-card>.entry-meta:first-child{display:none}
.entry-card .entry-button{
  font-family:var(--ms-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#4f5752;
}
.entry-card .entry-button:hover{color:#151817}

/* Newest article: full-width feature card on the first page */
@media(min-width:1000px){
  body.blog:not(.paged) .entries>article:first-child,
  body.category-blog:not(.paged) .entries>article:first-child{
    grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;column-gap:8px;
  }
  body.blog:not(.paged) .entries>article:first-child .ct-media-container,
  body.category-blog:not(.paged) .entries>article:first-child .ct-media-container{
    grid-column:2;grid-row:1/span 3;height:100%;max-height:420px;margin:0!important;
  }
  body.blog:not(.paged) .entries>article:first-child .ct-media-container img,
  body.category-blog:not(.paged) .entries>article:first-child .ct-media-container img{
    width:100%;height:100%;object-fit:cover;
  }
  body.blog:not(.paged) .entries>article:first-child>:not(.ct-media-container){grid-column:1}
  body.category-blog:not(.paged) .entries>article:first-child>:not(.ct-media-container){grid-column:1}
  body.blog:not(.paged) .entries>article:first-child .entry-title,
  body.category-blog:not(.paged) .entries>article:first-child .entry-title{font-size:27px;letter-spacing:-.03em}
  body.blog:not(.paged) .entries>article:first-child .entry-excerpt,
  body.category-blog:not(.paged) .entries>article:first-child .entry-excerpt{-webkit-line-clamp:4}
}

/* Pagination */
body.blog .ct-pagination .page-numbers,body.category .ct-pagination .page-numbers{
  border:1px solid #d7dbd5;border-radius:0;color:#4f5752;
  font-family:var(--ms-mono);font-size:12px;
}
body.blog .ct-pagination .page-numbers.current,body.blog .ct-pagination .page-numbers:hover,
body.category .ct-pagination .page-numbers.current,body.category .ct-pagination .page-numbers:hover{
  background:#151817;color:#f3f4ef;border-color:#151817;
}

/* Article hero: full-bleed studio band (native hero replaced in functions.php) */
.ms-post-hero{
  width:100vw;margin:0 calc(50% - 50vw) 46px;background:#151817;color:#f3f4ef;
  padding:46px 24px 50px;
}
.ms-post-hero .in{max-width:760px;margin:0 auto}
.ms-post-hero .trail{display:flex;align-items:center;gap:10px;margin-bottom:22px;
  font-family:var(--ms-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.ms-post-hero .trail a{color:rgba(243,244,239,.6);text-decoration:none}
.ms-post-hero .trail a:hover{color:var(--ms-yellow)}
.ms-post-hero .trail i{color:rgba(243,244,239,.3);font-style:normal}
.ms-post-hero h1{
  margin:0 0 20px;color:#f3f4ef;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.04em;font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.06;text-wrap:balance;
}
.ms-post-hero .meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--ms-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,244,239,.65)}
.ms-post-hero .meta i{width:5px;height:5px;background:var(--ms-yellow);font-style:normal}
/* the band sits flush under the header: swallow the container's top spacing */
body.single-post .site-main{margin-top:0!important;padding-top:0!important}
body.single-post .site-main>[class*=ct-container]{padding-top:0}
body.single-post article{margin-top:0}
@media(max-width:560px){.ms-post-hero{padding:34px 20px 38px;margin-bottom:36px}}

/* Single article: editorial measure on paper */
body.single-post .entry-content{color:#3d423f;font-size:17.5px;line-height:1.75}
body.single-post .entry-content>*{max-width:760px;margin-left:auto;margin-right:auto}
body.single-post .entry-content h2,body.single-post .entry-content h3,body.single-post .entry-content h4{
  color:#151817;font-family:var(--ms-din);font-weight:700;letter-spacing:-.03em;
}
body.single-post .entry-content h2{
  font-size:1.75rem;line-height:1.15;margin-top:2.4em;padding-top:28px;border-top:1px solid #d7dbd5;
  scroll-margin-top:100px;
}
body.single-post .entry-content h3{font-size:1.25rem;line-height:1.25;margin-top:1.9em}
body.single-post .entry-content ul>li::marker{color:var(--ms-yellow)}
body.single-post .entry-content ol>li::marker{color:#6e7571;font-family:var(--ms-mono);font-size:.85em}
body.single-post .entry-content a{color:#151817;text-decoration:underline;text-decoration-color:var(--ms-yellow);text-decoration-thickness:2px;text-underline-offset:3px}
body.single-post .entry-content a:hover{background:var(--ms-yellow)}
body.single-post .entry-content img{border-radius:0;border:1px solid #d7dbd5;max-width:100%;height:auto}
body.single-post .entry-content figure{margin-top:34px;margin-bottom:34px}
body.single-post .entry-content figcaption{
  margin-top:10px;text-align:center;font-family:var(--ms-mono);font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;color:#6e7571;
}
body.single-post .entry-content iframe{max-width:100%}
body.single-post .entry-content .wp-block-embed iframe{width:100%;aspect-ratio:16/9;height:auto}
body.single-post .entry-content blockquote{
  border-left:3px solid var(--ms-yellow);background:#fff;border-top:1px solid #d7dbd5;border-right:1px solid #d7dbd5;border-bottom:1px solid #d7dbd5;
  padding:18px 24px;color:#4f5752;
}
body.single-post .entry-content table{
  width:100%;border-collapse:collapse;background:#fff;border:1px solid #d7dbd5;font-size:15px;
}
body.single-post .entry-content th{
  background:#151817;color:#f3f4ef;font-family:var(--ms-mono);font-weight:700;font-size:11px;
  letter-spacing:.06em;text-transform:uppercase;text-align:left;padding:11px 14px;
}
body.single-post .entry-content td{padding:10px 14px;border-top:1px solid #e3e6e0;color:#3d423f}
body.single-post .entry-content tr:nth-child(even) td{background:#fafbf8}
body.single-post .entry-content pre,body.single-post .entry-content code{
  background:#fff;border:1px solid #d7dbd5;border-radius:0;color:#151817;
}
body.single-post .post-navigation{border-top:1px solid #d7dbd5}
body.single-post .comments-area,body.single-post .comment-body{color:#4f5752}
body.single-post .comments-area input,body.single-post .comments-area textarea{
  background:#fff;border:1px solid #d7dbd5;color:#151817;border-radius:0;
}

/* Keep-reading rail after the CTA */
.ms-related{max-width:760px;margin:56px auto 0}
.ms-related .k{font-family:var(--ms-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#151817}
.ms-related .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.ms-related .card{
  display:flex;flex-direction:column;background:#fff;border:1px solid #d7dbd5;
  text-decoration:none!important;transition:border-color .16s ease;overflow:hidden;
}
.ms-related .card:hover{border-color:#151817;background:#fff!important}
.ms-related .card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.ms-related .card .d{
  padding:14px 16px 0;font-family:var(--ms-mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:#6e7571;
}
.ms-related .card .t{
  padding:7px 16px 16px;font-family:var(--ms-din);font-weight:700;font-size:15px;
  line-height:1.3;letter-spacing:-.01em;color:#151817;
}
@media(max-width:640px){.ms-related .grid{grid-template-columns:1fr}.ms-related .card img{aspect-ratio:16/7}}

/* Post-footer shop CTA: buy-box language on paper */
.ms-post-cta{
  max-width:760px;margin:56px auto 0;padding:30px 32px;border:1px solid #151817;background:#fff;border-radius:0;
}
.ms-post-cta .k{font-family:var(--ms-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#151817}
.ms-post-cta h3{font-family:var(--ms-din);font-weight:700;font-size:22px;color:#151817;margin:10px 0 8px}
.ms-post-cta p{color:#4f5752;font-size:15px;margin:0 0 18px}
.ms-post-cta .row{display:flex;gap:12px;flex-wrap:wrap}
.ms-post-cta .row a{
  display:inline-flex;padding:12px 20px;border-radius:0;font-family:var(--ms-mono);font-weight:700;
  font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
}
.ms-post-cta .row a.y{background:var(--ms-yellow);color:#151817}
.ms-post-cta .row a.y:hover{background:var(--ms-yellow-2)}
.ms-post-cta .row a.g{border:1px solid #151817;color:#151817}
.ms-post-cta .row a.g:hover{background:#151817;color:#f3f4ef}

/* ---------- Shop hero: title + category rail (paper) ---------- */
.ms-shop-hero{padding:40px 0 8px}
.ms-shop-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;
  font-family:var(--ms-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#151817}
.ms-shop-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--ms-yellow)}
.ms-shop-hero h1{margin:0 0 14px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.045em;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1;text-wrap:balance}
.ms-shop-lead{margin:0 0 28px;color:#4f5752;font-size:16.5px;line-height:1.55;max-width:56ch}
.ms-shop-lead p{margin:0}
.ms-shop-rail{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:26px;border-bottom:1px solid #151817;margin-bottom:26px}
.ms-chip{display:inline-flex;align-items:baseline;gap:7px;padding:9px 13px;border:1px solid #d7dbd5;
  border-radius:0;font-family:var(--ms-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  color:#4f5752;background:#fff;text-decoration:none;transition:color .14s ease,border-color .14s ease,background .14s ease}
.ms-chip b{font-weight:400;color:#9aa09b}
.ms-chip:hover{color:#f3f4ef;background:#151817;border-color:#151817}
.ms-chip:hover b{color:rgba(243,244,239,.6)}
.ms-chip.on{background:#151817;border-color:#151817;color:#f3f4ef}
.ms-chip.on b{color:rgba(243,244,239,.6)}
.ms-chip.hot{background:var(--ms-yellow);border-color:var(--ms-yellow);color:#151817}
.ms-chip.hot:hover{background:#151817;border-color:#151817;color:#f3f4ef}
.ms-chip.hot.on{background:#151817;border-color:#151817;color:#f3f4ef}
@media(max-width:560px){.ms-shop-hero{padding-top:24px}.ms-shop-rail{gap:7px}.ms-chip{padding:8px 11px}}

/* Category archives: native hero is off; rail block carries the H1 */
body.tax-product_cat .ms-shop-hero{padding-top:40px}

/* Catalogue SEO copy: quiet editorial column below the grid.
   The top rule spans the full catalogue width (like every other section rule);
   only the text itself keeps the 74ch reading measure. */
.ms-seo-notes{margin:56px 0 10px;padding-top:34px;border-top:1px solid #151817;
  color:#4f5752;font-size:15px;line-height:1.65}
.ms-seo-notes > *{max-width:74ch}
.ms-seo-notes h2{margin:0 0 14px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.03em;font-size:1.5rem;line-height:1.15}
.ms-seo-notes h3{margin:26px 0 10px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.02em;font-size:1.12rem;line-height:1.2}
.ms-seo-notes p{margin:0 0 14px}
.ms-seo-notes ul{margin:0 0 14px;padding-left:19px}
.ms-seo-notes li{margin:4px 0}
.ms-seo-notes a{color:#151817;text-decoration:underline;text-underline-offset:2px}
.ms-seo-notes a:hover{background:var(--ms-yellow);text-decoration:none}
@media(max-width:560px){.ms-seo-notes{margin-top:40px;padding-top:26px}}

/* Shop page: the custom hero replaces Blocksy's archive hero entirely */
body.woocommerce-shop .hero-section{display:none}

/* ---------- Tripwire OTO card (cart + thank-you) ---------- */
.ms-oto{position:relative;margin:26px 0 30px;padding:24px;border:1px solid #151817;background:#fff}
.ms-oto-tag{position:absolute;top:-11px;left:16px;background:var(--ms-yellow);color:#151817;
  font:700 10px var(--ms-mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 10px}
.ms-oto-in{display:flex;gap:20px;align-items:center}
.ms-oto-in>img{width:110px;height:110px;object-fit:cover;flex:0 0 110px}
.ms-oto-copy h3{margin:0 0 6px;font:700 21px/1.15 var(--ms-din);letter-spacing:-.02em;color:#151817}
.ms-oto-copy h3 b{background:var(--ms-yellow);padding:0 5px}
.ms-oto-copy p{margin:0 0 14px;font-size:14px;color:#4f5752;max-width:56ch}
.ms-oto-copy p s{color:#9aa09b}
.ms-oto-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ms-oto-price{font:700 30px/1 var(--ms-din);color:#151817}
.ms-oto-btn{display:inline-flex;padding:13px 22px;background:var(--ms-yellow);color:#151817!important;
  font:700 12px var(--ms-mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.ms-oto-btn:hover{background:var(--ms-yellow-2)}
.ms-oto-note{display:block;margin-top:12px;font:10px var(--ms-mono);letter-spacing:.05em;text-transform:uppercase;color:#6e7571}
@media(max-width:600px){.ms-oto-in{flex-direction:column;align-items:flex-start}.ms-oto-in>img{width:100%;height:150px;flex:auto}}

/* Blog article tables/figures live in the PAPER theme — the light table with
   the dark header row is defined in the blog layer above; no dark overrides. */
body.single-post .entry-content figure.wp-block-image{margin:32px auto}
body.single-post .entry-content figure.wp-block-image img{width:100%;height:auto}

/* Blog cards: covers are 16:9 - match the container so nothing gets crop-zoomed */
.entry-card .ct-media-container{aspect-ratio:16/9!important}
.entry-card .ct-media-container img{width:100%;height:100%;object-fit:cover}

/* Blog cards: title always occupies exactly 2 lines so covers align across cards */
.entry-card .entry-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.5em}
@media(min-width:1000px){
  body.blog:not(.paged) .entries>article:first-child .entry-title,
  body.category-blog:not(.paged) .entries>article:first-child .entry-title{min-height:0;-webkit-line-clamp:3}
}

/* Post TOC + author box: ink panels bookending the paper article.
   Both sit inside .entry-content, so the generic content-link styling
   (dark text + yellow hover fill) must be overridden for readability. */
.ms-toc{max-width:760px;margin:0 auto 38px;border:1px solid #151817;background:#151817;padding:24px 28px}
.ms-toc-title{display:block;font:700 10px var(--ms-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ms-yellow);margin-bottom:12px}
.ms-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.ms-toc li{font-size:14px;line-height:1.45;margin:0 0 8px;break-inside:avoid;color:rgba(243,244,239,.4)}
.ms-toc a{color:rgba(243,244,239,.85)!important;text-decoration:none!important;background:none!important}
.ms-toc a:hover{color:var(--ms-yellow)!important}
@media(max-width:700px){.ms-toc ol{columns:1}}
.ms-author-box{max-width:760px;display:flex;gap:20px;align-items:flex-start;border:1px solid #151817;background:#151817;padding:24px 28px;margin:48px auto 0}
.ms-author-ava{width:72px;height:72px;flex-shrink:0;border:1px solid rgba(243,244,239,.2)}
.ms-author-name{display:block;font:700 17px var(--ms-din);color:#f3f4ef}
.ms-author-role{display:block;font:700 10px var(--ms-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ms-yellow);margin:4px 0 10px}
.ms-author-box p{margin:0;font-size:14.5px;line-height:1.6;color:rgba(243,244,239,.75)}
.ms-author-more{display:inline-flex;margin-top:12px;font:700 10.5px var(--ms-mono);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ms-yellow)!important;text-decoration:none!important;background:none!important}
.ms-author-more:hover{color:#f3f4ef!important}
@media(max-width:600px){.ms-author-box{flex-direction:column;gap:14px}}

/* Free pack banner: primary CTA at the top of every post */
.ms-free-banner{display:block;position:relative;background:#ffe600;padding:30px 34px;margin:0 0 34px;text-decoration:none;border:1px solid #ffe600;transition:background .15s ease}
.ms-free-banner:hover{background:#ecd400}
.ms-fb-chip{display:inline-block;font:700 11px var(--ms-mono);letter-spacing:.1em;text-transform:uppercase;background:#151817;color:#ffe600;padding:5px 12px;margin-bottom:12px}
.ms-fb-title{display:block;font:700 30px/1.1 var(--ms-din);letter-spacing:-.02em;color:#151817}
.ms-fb-sub{display:block;font:14px/1.5 Arial,sans-serif;color:#3d3f37;margin:8px 0 16px;max-width:52ch}
.ms-fb-btn{display:inline-block;font:700 13px var(--ms-mono);letter-spacing:.06em;text-transform:uppercase;background:#151817;color:#f3f4ef;padding:14px 24px}
.ms-free-banner:hover .ms-fb-btn{background:#0c0d11}
@media(max-width:600px){.ms-free-banner{padding:22px 20px}.ms-fb-title{font-size:23px}}

/* Audio demo block inside posts */
.ms-audio-demo{border:1px solid #2e3230;background:#1d211f;padding:18px 22px;margin:26px 0}
body.single-post .entry-content .ms-audio-demo figcaption,
.ms-audio-demo figcaption{font:700 12px var(--ms-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffe600;margin-bottom:10px;text-align:left}
.ms-audio-demo audio{width:100%;height:40px;display:block;margin:8px 0}
.ms-audio-demo .ms-ad-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 22px;margin-top:8px}
.ms-audio-demo .ms-ad-from{font:12px var(--ms-mono);color:#9aa09b;display:block}
/* selectors carry body.single-post .entry-content — the article link color
   (ink on paper) is more specific and turns these links black-on-black */
body.single-post .entry-content .ms-audio-demo .ms-ad-from a{color:#d7dbd5;text-decoration-color:rgba(255,230,0,.45)}
body.single-post .entry-content .ms-audio-demo .ms-ad-from a:hover{background:var(--ms-yellow);color:#151817}
body.single-post .entry-content .ms-audio-demo .ms-ad-cta{font:700 11px var(--ms-mono);letter-spacing:.06em;text-transform:uppercase;color:#ffe600;text-decoration:none;border-bottom:1px solid rgba(255,230,0,.5);padding-bottom:2px;white-space:nowrap}
body.single-post .entry-content .ms-audio-demo .ms-ad-cta:hover{background:var(--ms-yellow);color:#151817;border-bottom-color:var(--ms-yellow)}

/* ---------- About page: paper editorial (content built by scripts/build-about.php) ---------- */
body.page-id-16 .site-main{background:var(--ms-paper)}
.ms-about{max-width:980px;margin:0 auto}
.ms-about .k{display:block;font:700 10px var(--ms-mono);letter-spacing:.12em;text-transform:uppercase;color:#151817}
.ms-about-hero{padding:46px 0 10px}
.ms-about-hero h1{margin:0 0 16px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.045em;font-size:clamp(2rem,4.2vw,3.3rem);line-height:1.02;text-wrap:balance}
.ms-about-founder{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:start;
  margin:44px 0 0;padding:32px;background:#151817;color:#f3f4ef}
.ms-about-founder img{width:220px;height:220px;object-fit:cover;border:1px solid rgba(243,244,239,.2)}
.ms-about-founder .k{color:var(--ms-yellow)}
.ms-about-founder h2{margin:8px 0 14px;color:#f3f4ef;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.03em;font-size:1.9rem;line-height:1.05}
.ms-about-founder p{margin:0 0 14px;color:rgba(243,244,239,.78);font-size:16px;line-height:1.65;max-width:62ch}
.ms-about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 0}
.ms-about-stats div{background:#fff;border:1px solid #d7dbd5;padding:22px 20px}
.ms-about-stats b{display:block;font:700 30px/1 var(--ms-din);letter-spacing:-.03em;color:#151817}
.ms-about-stats span{display:block;margin-top:8px;font:700 10px var(--ms-mono);letter-spacing:.1em;
  text-transform:uppercase;color:#6e7571}
.ms-about-what{margin:54px 0 0;padding-top:32px;border-top:1px solid #151817}
.ms-about-what .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.ms-about-what .grid>div{background:#fff;border:1px solid #d7dbd5;padding:24px}
.ms-about-what h3{margin:0 0 10px;color:#151817;font-family:var(--ms-din);font-weight:700;
  letter-spacing:-.02em;font-size:1.15rem;line-height:1.2}
.ms-about-what p{margin:0;color:#4f5752;font-size:14.5px;line-height:1.6}
.ms-about-cta{max-width:none;margin-top:54px;margin-bottom:56px}
@media(max-width:820px){
  .ms-about-founder{grid-template-columns:1fr;gap:22px}
  .ms-about-founder img{width:160px;height:160px}
  .ms-about-stats{grid-template-columns:repeat(2,1fr)}
  .ms-about-what .grid{grid-template-columns:1fr}
}

/* wpautop insurance: stray empty paragraphs must never become grid items */
.ms-about p:empty{display:none}
