/* Room for Drama storefront — plugin-owned WooCommerce chrome */

.room-for-drama-store,
.nlh-publication-store.woocommerce {
  --nlh-ink: var(--dr-text);
  --nlh-paper: var(--dr-surface);
  --nlh-accent: var(--dr-cherry);
  --nlh-brass: var(--dr-accent);
  --nlh-muted: var(--dr-text-soft);
  --nlh-display: Iowan Old Style, Palatino Linotype, Palatino, serif;
  --nlh-body: Georgia, 'Times New Roman', serif;
}

.woocommerce ul.products li.product,
.woocommerce div.product {
  color: var(--nlh-ink);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  font-family: var(--nlh-display);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--nlh-ink);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--nlh-accent);
  font-family: var(--nlh-body);
}

.nlh-store-price-pending {
  color: var(--nlh-muted);
  font-style: italic;
}


.nlh-download-note {
  margin: 0.75rem 0 1.25rem;
  color: var(--nlh-muted);
  font-size: 0.92rem;
}

.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--nlh-ink);
  color: var(--nlh-paper);
  border-radius: 0;
}

.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:focus-visible,
.woocommerce a.button.alt:focus-visible,
.woocommerce button.button.alt:focus-visible,
.woocommerce input.button.alt:focus-visible {
  background-color: var(--nlh-accent);
  color: var(--nlh-paper);
}

/* Focus you can see: a 2px ink ring held off the control by 2px of paper, on
   every control this plugin styles or prints. Brass on paper was about 2.9:1,
   under the 3:1 a focus indicator needs. */
.woocommerce #respond input#submit:focus-visible,
.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,
.rfd-buy-nothing a:focus-visible,
.rfd-doors a:focus-visible,
.rfd-shop a:focus-visible {
  outline: 2px solid var(--nlh-ink);
  outline-offset: 2px;
  box-shadow: 0 0 0 2px var(--nlh-paper);
}

.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--nlh-brass);
}

/* ---------------------------------------------------------------------------
   Buy nothing yet — on a Room Edit product page, above the buy box. The free
   Study's reversible test comes first; an ink rule, not an alarm colour,
   because this is an instruction and not a warning.
   --------------------------------------------------------------------------- */
.rfd-buy-nothing {
  margin: 1.25rem 0 1.5rem;
  padding: 0.85rem 0 0.1rem;
  border-top: 2px solid var(--nlh-ink);
  border-bottom: 1px solid var(--nlh-ink);
  color: var(--nlh-ink);
  max-width: 40rem;
}

.rfd-buy-nothing p {
  margin: 0 0 0.6rem;
  font-size: 0.975rem;
  line-height: 1.55;
}

.rfd-buy-nothing .rfd-buy-nothing__kicker {
  margin-bottom: 0.45rem;
  font: 600 0.8125rem/1.3 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rfd-buy-nothing__go a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
  color: var(--nlh-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.rfd-buy-nothing__go a:hover,
.rfd-buy-nothing__go a:focus-visible {
  text-decoration-thickness: 2px;
}

/* ---------------------------------------------------------------------------
   /shop/ — the loop under the editorial doors is a list of titles, not a
   shelf. class-storefront.php removes the result count, the sort dropdown and
   the loop's Add to cart; this is the fallback if a theme template puts them
   back.
   --------------------------------------------------------------------------- */
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering,
.woocommerce-shop ul.products li.product .add_to_cart_button,
.post-type-archive-product .woocommerce-result-count,
.post-type-archive-product .woocommerce-ordering,
.post-type-archive-product ul.products li.product .add_to_cart_button {
  display: none;
}

/* The shop body that is still only in WordPress (.rfd-shop, with its own
   inline style) had 31px product links in 12px type. Until it is replaced by
   page-sources/shop.block.html, give them a 44px target and readable type. */
body.room-for-drama-store .rfd-shop a.rs-buy {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 14px;
}

/* page-sources/shop.block.html: every door opens on the free Study; the
   product is a quiet second link with a live price, or no link at all. */
.rfd-doors {
  color: var(--nlh-ink);
}

.rfd-doors__nothing {
  margin: 0 0 2.25rem;
  padding: 1rem 0 0.4rem;
  border-top: 2px solid var(--nlh-ink);
  border-bottom: 1px solid var(--nlh-ink);
  max-width: 46rem;
}

.rfd-doors__kicker {
  margin: 0 0 0.5rem;
  font: 600 0.8125rem/1.3 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rfd-doors__nothing p {
  font-size: 1rem;
  line-height: 1.55;
}

.rfd-doors__title {
  margin: 0 0 1rem;
  font-family: var(--nlh-display);
}

.rfd-doors__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.75rem 2rem;
  margin: 0 0 2.5rem;
}

.rfd-doors__door {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--nlh-ink);
}

.rfd-doors__problem {
  margin: 0;
  font-family: var(--nlh-display);
  font-size: 1.2rem;
  line-height: 1.3;
}

.rfd-doors__edit {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  color: var(--nlh-muted);
}

.rfd-doors a.rfd-doors__study {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0.6rem 1rem;
  background: var(--nlh-ink);
  color: var(--nlh-paper);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}

.rfd-doors a.rfd-doors__study:hover,
.rfd-doors a.rfd-doors__study:focus-visible {
  background: var(--nlh-accent);
  color: var(--nlh-paper);
}

.rfd-doors a.rfd-doors__buy {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 0.875rem;
  color: var(--nlh-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.rfd-doors a.rfd-doors__buy:hover,
.rfd-doors a.rfd-doors__buy:focus-visible {
  text-decoration-thickness: 2px;
}

.rfd-doors__free {
  max-width: 46rem;
  font-size: 1rem;
  line-height: 1.55;
}

/* ---------------------------------------------------------------------------
   Print. A printed product or shop page keeps its photographs, drawings,
   tests and signals; it loses the site's navigation, ads, consent layer,
   appearance widget and app handoff.
   --------------------------------------------------------------------------- */
@media print {
  header.rfd-hybrid,
  .rfd-footer,
  .nlh-band,
  .nlh-cvd,
  .wordads-tag,
  #wpconsent-root,
  .rfd-app-handoff {
    display: none !important;
  }
}
