/*
Theme Name: TAGI Blocksy Child
Theme URI: https://thatsagoodidea.com/
Description: A navy-and-gold Blocksy child theme for That's A Good Idea, with modern-heritage ecommerce styling and WooCommerce presentation refinements.
Author: That's A Good Idea, Inc.
Template: blocksy
Version: 0.1.7
Text Domain: tagi-blocksy-child
*/

/*
 * TAGI brand palette
 * Navy:    #0D2B4C
 * Gold:    #D6922E
 * Cream:   #F7F1E3
 * Charcoal:#3B3B3B
 * Paper:   #FCFBF8
 */

body.tagi-child-theme {
  --tagi-navy: #0D2B4C;
  --tagi-navy-2: #163A63;
  --tagi-gold: #D6922E;
  --tagi-gold-dark: #B9781C;
  --tagi-cream: #F7F1E3;
  --tagi-paper: #FCFBF8;
  --tagi-charcoal: #3B3B3B;
  --tagi-muted: #6C6A66;
  --tagi-line: rgba(13, 43, 76, .13);
  --tagi-shadow: 0 12px 34px rgba(13, 43, 76, .08);
  --tagi-shadow-hover: 0 18px 42px rgba(13, 43, 76, .14);
  --tagi-radius: 14px;
  --tagi-radius-sm: 9px;
  background: var(--tagi-paper);
  color: var(--tagi-charcoal);
}

/* Typography */
body.tagi-child-theme h1,
body.tagi-child-theme h2,
body.tagi-child-theme h3,
body.tagi-child-theme h4,
body.tagi-child-theme h5,
body.tagi-child-theme h6,
body.tagi-child-theme .site-title,
body.tagi-child-theme .entry-title,
body.tagi-child-theme .page-title,
body.tagi-child-theme .woocommerce-loop-product__title,
body.tagi-child-theme .product_title {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--tagi-navy);
  letter-spacing: -0.018em;
}

body.tagi-child-theme a {
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

body.tagi-child-theme a:not(.button):not(.ct-button):not(.wp-element-button) {
  color: var(--tagi-navy);
}

body.tagi-child-theme a:not(.button):not(.ct-button):not(.wp-element-button):hover {
  color: var(--tagi-gold-dark);
}

/* Header: restrained heritage accent, preserving Blocksy Header Builder */
body.tagi-child-theme #header,
body.tagi-child-theme .ct-header {
  border-top: 3px solid var(--tagi-gold);
}

body.tagi-child-theme #header [data-row*='middle'],
body.tagi-child-theme .ct-header [data-row*='middle'] {
  box-shadow: 0 1px 0 var(--tagi-line);
}

body.tagi-child-theme #header .menu > li > a,
body.tagi-child-theme .ct-header .menu > li > a {
  font-weight: 650;
  letter-spacing: .01em;
}

body.tagi-child-theme #header .menu > li.current-menu-item > a,
body.tagi-child-theme #header .menu > li.current-menu-ancestor > a,
body.tagi-child-theme #header .menu > li > a:hover,
body.tagi-child-theme .ct-header .menu > li.current-menu-item > a,
body.tagi-child-theme .ct-header .menu > li.current-menu-ancestor > a,
body.tagi-child-theme .ct-header .menu > li > a:hover {
  color: var(--tagi-gold-dark);
}

/* Forms + search */
body.tagi-child-theme input[type='text'],
body.tagi-child-theme input[type='search'],
body.tagi-child-theme input[type='email'],
body.tagi-child-theme input[type='tel'],
body.tagi-child-theme input[type='number'],
body.tagi-child-theme input[type='password'],
body.tagi-child-theme select,
body.tagi-child-theme textarea {
  border-color: rgba(13, 43, 76, .22);
  border-radius: var(--tagi-radius-sm);
}

body.tagi-child-theme input:focus,
body.tagi-child-theme select:focus,
body.tagi-child-theme textarea:focus {
  border-color: var(--tagi-gold);
  box-shadow: 0 0 0 3px rgba(214, 146, 46, .15);
  outline: none;
}

/* Buttons */
body.tagi-child-theme .button,
body.tagi-child-theme .ct-button,
body.tagi-child-theme .wp-element-button,
body.tagi-child-theme button[type='submit'],
body.tagi-child-theme input[type='submit'],
body.tagi-child-theme .wc-block-components-button {
  border-radius: 999px;
  border: 1px solid var(--tagi-navy);
  background: var(--tagi-navy);
  color: #fff;
  font-weight: 750;
  letter-spacing: .01em;
  box-shadow: none;
  transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.tagi-child-theme .button:hover,
body.tagi-child-theme .ct-button:hover,
body.tagi-child-theme .wp-element-button:hover,
body.tagi-child-theme button[type='submit']:hover,
body.tagi-child-theme input[type='submit']:hover,
body.tagi-child-theme .wc-block-components-button:hover {
  background: var(--tagi-gold-dark);
  border-color: var(--tagi-gold-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(13, 43, 76, .14);
}

/* Page title / section accents */
body.tagi-child-theme .hero-section,
body.tagi-child-theme .page-title,
body.tagi-child-theme .entry-header {
  --theme-link-hover-color: var(--tagi-gold-dark);
}

body.tagi-child-theme .entry-header .entry-title::after,
body.tagi-child-theme .hero-section .page-title::after {
  content: '';
  display: block;
  width: 68px;
  height: 3px;
  margin-top: .55em;
  border-radius: 99px;
  background: var(--tagi-gold);
}

/* WooCommerce product archive cards */
body.tagi-child-theme .woocommerce ul.products li.product,
body.tagi-child-theme [data-products] .product,
body.tagi-child-theme .products .product {
  background: #fff;
  border: 1px solid var(--tagi-line);
  border-radius: var(--tagi-radius);
  box-shadow: var(--tagi-shadow);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.tagi-child-theme .woocommerce ul.products li.product:hover,
body.tagi-child-theme [data-products] .product:hover,
body.tagi-child-theme .products .product:hover {
  transform: translateY(-3px);
  border-color: rgba(214, 146, 46, .45);
  box-shadow: var(--tagi-shadow-hover);
}

body.tagi-child-theme .woocommerce ul.products li.product img,
body.tagi-child-theme [data-products] .product img,
body.tagi-child-theme .products .product img {
  background: var(--tagi-cream);
}

body.tagi-child-theme .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title {
  font-size: clamp(1rem, .95rem + .2vw, 1.16rem);
  line-height: 1.3;
}

body.tagi-child-theme .woocommerce ul.products li.product .price,
body.tagi-child-theme [data-products] .product .price,
body.tagi-child-theme .products .product .price,
body.tagi-child-theme .summary .price {
  color: var(--tagi-gold-dark);
  font-weight: 800;
}

body.tagi-child-theme .onsale,
body.tagi-child-theme .out-of-stock-badge,
body.tagi-child-theme .product-badge {
  background: var(--tagi-gold);
  color: var(--tagi-navy);
  border-radius: 999px;
  font-weight: 800;
}

/* Single products */
body.tagi-child-theme.single-product .product_title {
  line-height: 1.12;
}

body.tagi-child-theme.single-product .summary,
body.tagi-child-theme.single-product .woocommerce-product-gallery {
  border-radius: var(--tagi-radius);
}

body.tagi-child-theme.single-product .woocommerce-product-gallery img {
  border-radius: var(--tagi-radius-sm);
}

body.tagi-child-theme .woocommerce-tabs,
body.tagi-child-theme .related.products,
body.tagi-child-theme .up-sells.products {
  border-top: 1px solid var(--tagi-line);
  padding-top: clamp(24px, 4vw, 48px);
}

/* Notices, account, cart and checkout */
body.tagi-child-theme .woocommerce-message,
body.tagi-child-theme .woocommerce-info,
body.tagi-child-theme .woocommerce-error,
body.tagi-child-theme .wc-block-components-notice-banner {
  border-radius: var(--tagi-radius-sm);
  border-left: 4px solid var(--tagi-gold);
  background: #fff;
}

body.tagi-child-theme .woocommerce-account .woocommerce-MyAccount-navigation,
body.tagi-child-theme .cart_totals,
body.tagi-child-theme .woocommerce-checkout-review-order,
body.tagi-child-theme .wc-block-components-sidebar-layout .wc-block-components-main,
body.tagi-child-theme .wc-block-components-sidebar {
  border-radius: var(--tagi-radius);
}

/* Sidebar/filter widgets */
body.tagi-child-theme .ct-sidebar .ct-widget,
body.tagi-child-theme .widget-area .widget {
  border: 1px solid var(--tagi-line);
  border-radius: var(--tagi-radius);
  background: #fff;
  padding: 18px;
}

body.tagi-child-theme .ct-sidebar .widget-title,
body.tagi-child-theme .widget-area .widget-title {
  color: var(--tagi-navy);
  font-family: Georgia, 'Times New Roman', serif;
}

/* Footer */
body.tagi-child-theme footer.ct-footer,
body.tagi-child-theme #footer {
  background: var(--tagi-navy);
  color: rgba(255,255,255,.86);
  border-top: 4px solid var(--tagi-gold);
}

body.tagi-child-theme footer.ct-footer h2,
body.tagi-child-theme footer.ct-footer h3,
body.tagi-child-theme footer.ct-footer h4,
body.tagi-child-theme #footer h2,
body.tagi-child-theme #footer h3,
body.tagi-child-theme #footer h4 {
  color: var(--tagi-cream);
}

body.tagi-child-theme footer.ct-footer a,
body.tagi-child-theme #footer a {
  color: var(--tagi-cream);
}

body.tagi-child-theme footer.ct-footer a:hover,
body.tagi-child-theme #footer a:hover {
  color: #fff;
}

/* TAGI reusable Gutenberg classes */
body.tagi-child-theme .tagi-kicker {
  color: var(--tagi-gold-dark);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

body.tagi-child-theme .tagi-section-title {
  position: relative;
  padding-bottom: .55rem;
}

body.tagi-child-theme .tagi-section-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 62px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: var(--tagi-gold);
}

body.tagi-child-theme .tagi-card {
  background: #fff;
  border: 1px solid var(--tagi-line);
  border-radius: var(--tagi-radius);
  box-shadow: var(--tagi-shadow);
}

body.tagi-child-theme .tagi-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(13, 43, 76, .08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 16%, rgba(214,146,46,.18), transparent 28%),
    linear-gradient(135deg, #fff 0%, var(--tagi-cream) 100%);
  box-shadow: var(--tagi-shadow);
}

body.tagi-child-theme .tagi-hero::before {
  content: '✦';
  position: absolute;
  top: 18px;
  right: 26px;
  color: var(--tagi-gold);
  font-size: clamp(30px, 5vw, 72px);
  line-height: 1;
  opacity: .9;
}

body.tagi-child-theme .tagi-trust-strip {
  border-top: 1px solid var(--tagi-line);
  border-bottom: 1px solid var(--tagi-line);
  background: var(--tagi-cream);
}

body.tagi-child-theme .tagi-gold-rule {
  width: min(140px, 30vw);
  height: 3px;
  border: 0;
  border-radius: 999px;
  background: var(--tagi-gold);
}

/* Accessibility: preserve visible keyboard focus */
body.tagi-child-theme :focus-visible {
  outline: 3px solid var(--tagi-gold) !important;
  outline-offset: 3px;
}

/* Keep motion modest for people who request less animation. */
@media (prefers-reduced-motion: reduce) {
  body.tagi-child-theme *,
  body.tagi-child-theme *::before,
  body.tagi-child-theme *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 689px) {
  body.tagi-child-theme {
    --tagi-radius: 11px;
  }

  body.tagi-child-theme .woocommerce ul.products li.product,
  body.tagi-child-theme [data-products] .product,
  body.tagi-child-theme .products .product {
    box-shadow: 0 7px 22px rgba(13,43,76,.07);
  }

  body.tagi-child-theme .tagi-hero::before {
    top: 12px;
    right: 16px;
  }
}


/* =========================================================
 * v0.1.1 — Shop/catalog refinements based on live TAGI store
 * ========================================================= */

/* Keep archive/shop hierarchy retail-focused rather than editorial-heavy. */
body.tagi-child-theme.woocommerce-shop .page-title,
body.tagi-child-theme.post-type-archive-product .page-title,
body.tagi-child-theme.woocommerce-shop .entry-title,
body.tagi-child-theme.post-type-archive-product .entry-title {
  font-size: clamp(2rem, 2.2vw, 2.55rem);
  line-height: 1.05;
}

/* Product cards: compact typography and breathing room below the image. */
body.tagi-child-theme .woocommerce ul.products li.product,
body.tagi-child-theme [data-products] .product,
body.tagi-child-theme .products .product {
  padding-bottom: 14px;
}

body.tagi-child-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .woocommerce ul.products li.product .ct-product-title,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .ct-product-title,
body.tagi-child-theme .products .product .woocommerce-loop-product__title,
body.tagi-child-theme .products .product .ct-product-title,
body.tagi-child-theme .products .product h2,
body.tagi-child-theme .products .product h3 {
  font-size: clamp(1rem, .96rem + .16vw, 1.12rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -.012em;
  margin: 14px 16px 7px !important;
  overflow-wrap: anywhere;
}

body.tagi-child-theme .woocommerce ul.products li.product .price,
body.tagi-child-theme [data-products] .product .price,
body.tagi-child-theme .products .product .price {
  display: block;
  margin: 0 16px 10px !important;
  font-size: .98rem;
  line-height: 1.3;
}

body.tagi-child-theme .woocommerce ul.products li.product .button,
body.tagi-child-theme [data-products] .product .button,
body.tagi-child-theme .products .product .button,
body.tagi-child-theme .woocommerce ul.products li.product .ct-woo-card-actions {
  margin-left: 16px;
  margin-right: 16px;
}

/* Let the product image be the star, with a cleaner transition into card copy. */
body.tagi-child-theme .woocommerce ul.products li.product img,
body.tagi-child-theme [data-products] .product img,
body.tagi-child-theme .products .product img {
  border-bottom: 1px solid rgba(13, 43, 76, .08);
}

/* Sidebar/filter typography should support browsing, not compete with products. */
body.tagi-child-theme .ct-sidebar,
body.tagi-child-theme .widget-area {
  --tagi-filter-heading: 1.34rem;
}

body.tagi-child-theme .ct-sidebar h2,
body.tagi-child-theme .ct-sidebar h3,
body.tagi-child-theme .ct-sidebar .widget-title,
body.tagi-child-theme .ct-sidebar .wp-block-heading,
body.tagi-child-theme .widget-area h2,
body.tagi-child-theme .widget-area h3,
body.tagi-child-theme .widget-area .widget-title,
body.tagi-child-theme .widget-area .wp-block-heading {
  font-size: var(--tagi-filter-heading) !important;
  line-height: 1.15 !important;
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: .7rem;
}

body.tagi-child-theme .ct-sidebar .ct-widget,
body.tagi-child-theme .widget-area .widget {
  padding: 20px;
  box-shadow: 0 7px 22px rgba(13,43,76,.045);
}

/* Filter labels and values stay readable but visually secondary. */
body.tagi-child-theme .ct-sidebar label,
body.tagi-child-theme .ct-sidebar li,
body.tagi-child-theme .widget-area label,
body.tagi-child-theme .widget-area li {
  font-size: .98rem;
  line-height: 1.45;
}

/* Sorting control: visually quieter than primary actions. */
body.tagi-child-theme .woocommerce-ordering select,
body.tagi-child-theme select.orderby {
  min-height: 46px;
  background-color: #fff;
  border-color: rgba(13, 43, 76, .18);
  box-shadow: none;
}

/* Give archive metadata a subtle branded sans treatment. */
body.tagi-child-theme .woocommerce-result-count,
body.tagi-child-theme [class*='woocommerce-result-count'] {
  color: rgba(13,43,76,.78);
  font-size: .82rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  body.tagi-child-theme .ct-sidebar,
  body.tagi-child-theme .widget-area {
    --tagi-filter-heading: 1.22rem;
  }
}

@media (max-width: 689px) {
  body.tagi-child-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tagi-child-theme .woocommerce ul.products li.product .ct-product-title,
  body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
  body.tagi-child-theme .products .product .woocommerce-loop-product__title,
  body.tagi-child-theme .products .product .ct-product-title,
  body.tagi-child-theme .products .product h2,
  body.tagi-child-theme .products .product h3 {
    font-size: .98rem !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  body.tagi-child-theme .woocommerce ul.products li.product .price,
  body.tagi-child-theme [data-products] .product .price,
  body.tagi-child-theme .products .product .price {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}


/* =========================================================
 * v0.1.2 — tighter catalog typography + homepage starter
 * ========================================================= */

/* Chrome/100% is the reference viewport for catalog scale. */
body.tagi-child-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .woocommerce ul.products li.product .ct-product-title,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .ct-product-title,
body.tagi-child-theme .products .product .woocommerce-loop-product__title,
body.tagi-child-theme .products .product .ct-product-title,
body.tagi-child-theme .products .product h2,
body.tagi-child-theme .products .product h3 {
  font-size: clamp(.96rem, .92rem + .12vw, 1.06rem) !important;
  line-height: 1.2 !important;
  margin-top: 16px !important;
  margin-bottom: 8px !important;
}

body.tagi-child-theme .woocommerce ul.products li.product .price,
body.tagi-child-theme [data-products] .product .price,
body.tagi-child-theme .products .product .price {
  margin-bottom: 12px !important;
}

body.tagi-child-theme .woocommerce ul.products li.product .button,
body.tagi-child-theme [data-products] .product .button,
body.tagi-child-theme .products .product .button {
  min-height: 42px;
  padding: 9px 18px;
  font-size: .88rem;
}

/* Homepage sections */
body.tagi-child-theme .tagi-home-wrap {
  display: grid;
  gap: clamp(34px, 5vw, 72px);
}

body.tagi-child-theme .tagi-home-section {
  margin-block: 0;
}

body.tagi-child-theme .tagi-home-intro {
  max-width: 820px;
  margin-inline: auto;
}

body.tagi-child-theme .tagi-home-intro p {
  color: var(--tagi-muted);
}

body.tagi-child-theme .tagi-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.tagi-child-theme .tagi-category-grid a {
  display: flex;
  min-height: 108px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border: 1px solid var(--tagi-line);
  border-radius: var(--tagi-radius);
  background:
    radial-gradient(circle at 86% 18%, rgba(214,146,46,.15), transparent 34%),
    linear-gradient(145deg, #fff, var(--tagi-cream));
  color: var(--tagi-navy) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, .98rem + .28vw, 1.28rem);
  font-weight: 700;
  line-height: 1.18;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(13,43,76,.05);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

body.tagi-child-theme .tagi-category-grid a::after {
  content: '→';
  flex: 0 0 auto;
  color: var(--tagi-gold-dark);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 1.1em;
}

body.tagi-child-theme .tagi-category-grid a:hover {
  transform: translateY(-2px);
  border-color: rgba(214,146,46,.45);
  box-shadow: var(--tagi-shadow);
}

body.tagi-child-theme .tagi-story-card,
body.tagi-child-theme .tagi-pickup-card {
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid var(--tagi-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--tagi-shadow);
}

body.tagi-child-theme .tagi-pickup-card {
  background:
    radial-gradient(circle at 86% 20%, rgba(214,146,46,.16), transparent 30%),
    var(--tagi-cream);
}

body.tagi-child-theme .tagi-home-products .woocommerce ul.products,
body.tagi-child-theme .tagi-home-products ul.products {
  margin-bottom: 0;
}

body.tagi-child-theme .tagi-home-products + .wp-block-buttons {
  margin-top: 24px;
}

body.tagi-child-theme .tagi-home-section > .tagi-section-title {
  margin-bottom: 26px;
  text-align: center;
}

body.tagi-child-theme .tagi-home-section .tagi-section-copy {
  max-width: 720px;
  margin: -12px auto 26px;
  color: var(--tagi-muted);
  text-align: center;
}

@media (max-width: 1024px) {
  body.tagi-child-theme .tagi-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 689px) {
  body.tagi-child-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.tagi-child-theme .woocommerce ul.products li.product .ct-product-title,
  body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
  body.tagi-child-theme .products .product .woocommerce-loop-product__title,
  body.tagi-child-theme .products .product .ct-product-title,
  body.tagi-child-theme .products .product h2,
  body.tagi-child-theme .products .product h3 {
    font-size: .94rem !important;
    line-height: 1.18 !important;
  }

  body.tagi-child-theme .tagi-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.tagi-child-theme .tagi-category-grid a {
    min-height: 92px;
    padding: 15px;
    font-size: 1rem;
  }
}


/* =========================================================
 * v0.1.4 — Header dropdown / submenu polish
 * ========================================================= */

/*
 * Keep Blocksy desktop submenus readable against the TAGI navy panel.
 * The generic TAGI link-color rule is intentionally overridden here.
 */
body.tagi-child-theme #header .sub-menu,
body.tagi-child-theme .ct-header .sub-menu,
body.tagi-child-theme #header [class*='sub-menu'],
body.tagi-child-theme .ct-header [class*='sub-menu'] {
  background: var(--tagi-navy) !important;
  border: 1px solid rgba(255,255,255,.08);
  border-top: 3px solid var(--tagi-gold);
  border-radius: 0 0 12px 12px;
  box-shadow: 0 18px 38px rgba(13,43,76,.22);
  padding: 8px 0;
  overflow: hidden;
}

body.tagi-child-theme #header .sub-menu a,
body.tagi-child-theme .ct-header .sub-menu a,
body.tagi-child-theme #header [class*='sub-menu'] a,
body.tagi-child-theme .ct-header [class*='sub-menu'] a {
  color: var(--tagi-cream) !important;
  background: transparent !important;
  font-weight: 650;
  line-height: 1.35;
  padding-top: 11px;
  padding-bottom: 11px;
  text-decoration: none;
}

body.tagi-child-theme #header .sub-menu a:hover,
body.tagi-child-theme #header .sub-menu .current-menu-item > a,
body.tagi-child-theme .ct-header .sub-menu a:hover,
body.tagi-child-theme .ct-header .sub-menu .current-menu-item > a,
body.tagi-child-theme #header [class*='sub-menu'] a:hover,
body.tagi-child-theme .ct-header [class*='sub-menu'] a:hover {
  color: #fff !important;
  background: rgba(214,146,46,.18) !important;
}

/* Keep submenu dividers subtle if Blocksy/the menu plugin renders them. */
body.tagi-child-theme #header .sub-menu li + li,
body.tagi-child-theme .ct-header .sub-menu li + li {
  border-top-color: rgba(255,255,255,.08) !important;
}


/* =========================================================
 * v0.1.5 — Blocksy-first reset + branded logo support
 * ========================================================= */

/* Keep Blocksy's native archive/page geometry. The child theme brands
   the interface but does not force a custom homepage/archive layout. */

/* Header logo sizing. Blocksy will render the custom logo when one is set. */
body.tagi-child-theme [data-id="logo"] img,
body.tagi-child-theme .site-logo-container img,
body.tagi-child-theme .ct-logo-container img {
  width: auto;
  max-width: min(420px, 33vw);
  max-height: 72px;
  object-fit: contain;
}

/* Keep nav/search/account visually aligned with the branded wordmark. */
body.tagi-child-theme #header [data-row*='middle'],
body.tagi-child-theme .ct-header [data-row*='middle'] {
  min-height: 86px;
}

/* About / story pattern */
body.tagi-child-theme .tagi-about-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--tagi-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 16%, rgba(214,146,46,.18), transparent 28%),
    linear-gradient(135deg, #fff 0%, var(--tagi-cream) 100%);
  box-shadow: var(--tagi-shadow);
}

body.tagi-child-theme .tagi-about-card {
  background: #fff;
  border: 1px solid var(--tagi-line);
  border-radius: var(--tagi-radius);
  box-shadow: var(--tagi-shadow);
  padding: clamp(24px, 4vw, 44px);
}

body.tagi-child-theme .tagi-about-logo img {
  width: min(760px, 92%);
  height: auto;
  margin-inline: auto;
}

@media (max-width: 689px) {
  body.tagi-child-theme [data-id="logo"] img,
  body.tagi-child-theme .site-logo-container img,
  body.tagi-child-theme .ct-logo-container img {
    max-width: 250px;
    max-height: 54px;
  }
}


/* =========================================================
 * v0.1.6 — tighter catalog titles + full logo lockup
 * ========================================================= */

/*
 * Blocksy can apply archive-card typography through several wrappers and
 * CSS variables. These selectors intentionally target the actual product
 * title/link so catalog names stay compact regardless of Customizer values.
 */
body.tagi-child-theme.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.tax-product_tag ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .products li.product .ct-product-title,
body.tagi-child-theme .products li.product h2,
body.tagi-child-theme .products li.product h3,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .ct-product-title {
  font-size: 16px !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
  letter-spacing: -0.008em !important;
  margin-top: 13px !important;
  margin-bottom: 7px !important;
}

body.tagi-child-theme.woocommerce-shop ul.products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.post-type-archive-product ul.products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.tax-product_cat ul.products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.tax-product_tag ul.products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme .products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme .products li.product .ct-product-title a,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title a,
body.tagi-child-theme [data-products] .product .ct-product-title a {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
}

/* Slightly reduce card copy padding so four-column desktop grids breathe. */
body.tagi-child-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme .products li.product .ct-product-title,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .ct-product-title {
  margin-left: 14px !important;
  margin-right: 14px !important;
}

@media (max-width: 689px) {
  body.tagi-child-theme .products li.product .woocommerce-loop-product__title,
  body.tagi-child-theme .products li.product .ct-product-title,
  body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
  body.tagi-child-theme [data-products] .product .ct-product-title {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
}


/* =========================================================
 * v0.1.7 — stable update identity + compact catalog typography
 * ========================================================= */

/* TAGI uses the merchandise grid as the landing experience; suppress the
   oversized Blocksy archive hero even if its Customizer setting is enabled. */
body.tagi-child-theme.woocommerce-shop .hero-section,
body.tagi-child-theme.post-type-archive-product .hero-section,
body.tagi-child-theme.tax-product_cat .hero-section,
body.tagi-child-theme.tax-product_tag .hero-section {
  display: none !important;
}

/* Product names are catalog UI, not display headlines.  Use a compact
   sans-serif face so long resale titles scan quickly in four-column grids. */
body.tagi-child-theme.woocommerce-shop .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.woocommerce-shop .products li.product .ct-product-title,
body.tagi-child-theme.post-type-archive-product .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.post-type-archive-product .products li.product .ct-product-title,
body.tagi-child-theme.tax-product_cat .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.tax-product_cat .products li.product .ct-product-title,
body.tagi-child-theme.tax-product_tag .products li.product .woocommerce-loop-product__title,
body.tagi-child-theme.tax-product_tag .products li.product .ct-product-title,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
body.tagi-child-theme [data-products] .product .ct-product-title,
body.tagi-child-theme .wc-block-grid__product-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  margin-top: 12px !important;
  margin-bottom: 6px !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body.tagi-child-theme.woocommerce-shop .products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.woocommerce-shop .products li.product .ct-product-title a,
body.tagi-child-theme.post-type-archive-product .products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.post-type-archive-product .products li.product .ct-product-title a,
body.tagi-child-theme.tax-product_cat .products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.tax-product_cat .products li.product .ct-product-title a,
body.tagi-child-theme.tax-product_tag .products li.product .woocommerce-loop-product__title a,
body.tagi-child-theme.tax-product_tag .products li.product .ct-product-title a,
body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title a,
body.tagi-child-theme [data-products] .product .ct-product-title a,
body.tagi-child-theme .wc-block-grid__product-title a {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 689px) {
  body.tagi-child-theme .products li.product .woocommerce-loop-product__title,
  body.tagi-child-theme .products li.product .ct-product-title,
  body.tagi-child-theme [data-products] .product .woocommerce-loop-product__title,
  body.tagi-child-theme [data-products] .product .ct-product-title,
  body.tagi-child-theme .wc-block-grid__product-title {
    font-size: 13.5px !important;
    line-height: 1.25 !important;
  }
}
