/*
Theme Name:     Dave Armstrong Bookstore — Brand Child
Theme URI:      https://davearmstrongbooks.store
Description:    Brand-spec child theme for DaveArmstrongBooks.store. Built on Astra, tuned to the red+black+white palette and system-UI sans typography extracted from Dave's Biblical Evidence for Catholicism blog. Single source of truth for visual identity across the storefront, category pages, product pages, cart, checkout, account, and WooCommerce emails.
Author:         Kenny Burchard
Author URI:     https://davearmstrongbooks.store
Template:       astra
Version:        1.0.0
Text Domain:    dab-brand
*/

/* =========================================================
   Brand Spec — see 01_Planning/Brand_Spec.md for source
   ========================================================= */

:root {
  /* Primary palette — the only colors anyone actually sees */
  --dab-red: #B91C1C;            /* CTAs, accents, category tags */
  --dab-red-hover: #991B1B;      /* darker red on hover */
  --dab-black: #000000;          /* headings, body, navigation */
  --dab-white: #FFFFFF;          /* page bg, button text */

  /* Supporting grays */
  --dab-surface-light: #FAFAFA;
  --dab-surface-alt: #F5F5F4;
  --dab-border-light: #E5E5E5;
  --dab-border-default: #D4D4D4;
  --dab-text-secondary: #525252;
  --dab-text-muted: #737373;

  /* Functional amber — warning callouts only */
  --dab-amber-bg: #FEF3C7;
  --dab-amber-text: #92400E;
  --dab-amber-border: #F59E0B;

  /* Typography */
  --dab-font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

  /* Spacing helpers */
  --dab-radius: 4px;
  --dab-tag-radius: 2px;
}

/* =========================================================
   Base
   ========================================================= */

body,
.ast-container,
input,
textarea,
select,
button {
  font-family: var(--dab-font-body);
  color: var(--dab-black);
}

body {
  background-color: var(--dab-white);
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.widget-title {
  color: var(--dab-black);
  font-weight: 700;
}

a {
  color: var(--dab-black);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--dab-red);
  text-decoration: underline;
}

/* =========================================================
   Buttons — primary red, secondary outline, tertiary link
   ========================================================= */

.wp-block-button__link,
.button,
button[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt {
  background-color: var(--dab-red) !important;
  color: var(--dab-white) !important;
  border: none !important;
  border-radius: var(--dab-radius) !important;
  font-weight: 600 !important;
  padding: 10px 20px !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease;
}

.wp-block-button__link:hover,
.button:hover,
button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  background-color: var(--dab-red-hover) !important;
}

/* Secondary outline button */
.is-style-outline .wp-block-button__link,
.button.outline,
.woocommerce a.button.outline {
  background-color: transparent !important;
  color: var(--dab-red) !important;
  border: 2px solid var(--dab-red) !important;
}

.is-style-outline .wp-block-button__link:hover,
.button.outline:hover,
.woocommerce a.button.outline:hover {
  background-color: var(--dab-red) !important;
  color: var(--dab-white) !important;
}

/* =========================================================
   WooCommerce — prices, sale, stock, badges
   ========================================================= */

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--dab-black);
  font-weight: 700;
}

.woocommerce span.onsale,
.woocommerce-product-gallery__trigger {
  background-color: var(--dab-red);
  color: var(--dab-white);
  border-radius: var(--dab-tag-radius);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 11px;
  padding: 4px 10px;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  border-top-color: var(--dab-red);
  background-color: var(--dab-surface-light);
}

.woocommerce-info::before,
.woocommerce-message::before {
  color: var(--dab-red);
}

/* Product page — category labels above title */
.woocommerce .product .posted_in a,
.woocommerce-products-header__title,
.archive-description {
  color: var(--dab-text-secondary);
}

/* =========================================================
   Category tags — red filled labels (matches blog)
   ========================================================= */

.dab-category-tag,
.woocommerce .product_meta .posted_in a,
.term-badge {
  display: inline-block;
  background-color: var(--dab-red);
  color: var(--dab-white) !important;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 4px 10px;
  border-radius: var(--dab-tag-radius);
  text-decoration: none !important;
}

/* =========================================================
   Forms — inputs, focus rings
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
  border: 1px solid var(--dab-border-default);
  border-radius: var(--dab-radius);
  padding: 10px 12px;
  font-family: var(--dab-font-body);
  color: var(--dab-black);
  background-color: var(--dab-white);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--dab-red);
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.15);
}

/* =========================================================
   Header & nav
   ========================================================= */

.main-header-bar,
.ast-primary-header-bar {
  background-color: var(--dab-white);
  border-bottom: 1px solid var(--dab-border-light);
}

.main-header-menu a,
.main-navigation a,
.ast-primary-header .menu-item a {
  color: var(--dab-black);
  font-weight: 500;
}

.main-header-menu a:hover,
.main-navigation a:hover,
.ast-primary-header .menu-item a:hover {
  color: var(--dab-red);
}

/* Site title — accent the "Bookstore" word in red */
.site-title a {
  color: var(--dab-black);
}

.dab-brand-accent {
  color: var(--dab-red);
}

/* =========================================================
   Footer
   ========================================================= */

.site-footer,
.footer-adv-overlay,
[data-section="section-footer-builder"] {
  background-color: var(--dab-surface-alt);
  color: var(--dab-text-secondary);
  border-top: 1px solid var(--dab-border-light);
}

.site-footer a,
.footer-widget-area a {
  color: var(--dab-black);
}

.site-footer a:hover {
  color: var(--dab-red);
}

/* =========================================================
   "Inside this book" lists on product pages
   ========================================================= */

.dab-inside-book {
  background-color: var(--dab-surface-light);
  border-left: 3px solid var(--dab-red);
  padding: 18px 22px;
  margin: 24px 0;
  border-radius: 0 var(--dab-radius) var(--dab-radius) 0;
}

.dab-inside-book h3 {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--dab-text-secondary);
  margin: 0 0 12px 0;
}

.dab-inside-book ul {
  margin: 0;
  padding-left: 22px;
}

.dab-inside-book li {
  margin-bottom: 6px;
  color: var(--dab-black);
}

/* =========================================================
   Amber warning callout (used on "save these now" notes)
   ========================================================= */

.dab-warning-callout {
  background-color: var(--dab-amber-bg);
  border-left: 3px solid var(--dab-amber-border);
  padding: 14px 16px;
  color: var(--dab-amber-text);
  border-radius: 0 var(--dab-radius) var(--dab-radius) 0;
  margin: 16px 0;
}

.dab-warning-callout strong {
  color: var(--dab-amber-text);
}

/* =========================================================
   "What you get — $9.99" block on product pages
   ========================================================= */

.dab-what-you-get {
  background-color: var(--dab-surface-light);
  border: 1px solid var(--dab-border-light);
  border-radius: var(--dab-radius);
  padding: 20px 22px;
  margin: 24px 0;
}

.dab-what-you-get .dab-price-banner {
  display: inline-block;
  background-color: var(--dab-red);
  color: var(--dab-white);
  padding: 4px 10px;
  border-radius: var(--dab-tag-radius);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
}

.dab-what-you-get h3 {
  font-size: 16px;
  margin: 0 0 8px 0;
  color: var(--dab-black);
}

.dab-what-you-get ul {
  margin: 12px 0 0 0;
  padding-left: 22px;
}

.dab-what-you-get li {
  margin-bottom: 6px;
  color: var(--dab-black);
}

/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 768px) {
  body {
    font-size: 16px;
    line-height: 1.6;
  }

  h1 { font-size: 28px; }
  h2 { font-size: 22px; }
}
