/*
 * Hamisu Quiet Luxury 4.7 — global page and footer typography lock.
 * Loaded last and repeated inline because imported Elementor/Pagelayer kits can
 * otherwise restore 200px pale headings after the theme stylesheet.
 */

:root {
  --hamisu-lock-ink: #211b19;
  --hamisu-lock-brick: #a44438;
  --hamisu-lock-paper: #fffefa;
}

/* Standard WordPress pages: Shop, Account, Cart, FAQ, Contact and policies. */
html body.page:not(.home) main#primary > .hamisu-page-hero {
  box-sizing: border-box !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-height: 220px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 52px 24px !important;
  overflow: visible !important;
  background: #f7eeea !important;
  color: var(--hamisu-lock-ink) !important;
  text-align: center !important;
}

html body.page:not(.home) .hamisu-page-hero > .hamisu-narrow {
  display: block !important;
  width: min(100%, 760px) !important;
  min-width: 0 !important;
  max-width: 760px !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

html body.page:not(.home) .hamisu-page-hero .hamisu-kicker {
  margin: 0 0 13px !important;
  color: var(--hamisu-lock-brick) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 0.66rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

html body.page:not(.home) .hamisu-page-hero h1,
html body.page:not(.home) .hamisu-page-hero .entry-title {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--hamisu-lock-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  opacity: 1 !important;
}

html body.page:not(.home) .hamisu-page-hero h1::before,
html body.page:not(.home) .hamisu-page-hero h1::after {
  display: none !important;
  content: none !important;
}

html body.page:not(.home) .hamisu-page-hero p:last-child:not(.hamisu-kicker) {
  max-width: 650px !important;
  margin: 14px auto 0 !important;
  color: #5f514c !important;
  font-size: 0.9rem !important;
  line-height: 1.65 !important;
}

/* Native WooCommerce Shop archive title. Product-category titles remain under
   the more specific product typography lock. */
html body.post-type-archive-product.woocommerce-shop #primary.hamisu-shop-shell > .hamisu-container > h1.page-title {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 62px 24px 42px !important;
  overflow: visible !important;
  color: var(--hamisu-lock-ink) !important;
  background: transparent !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.35rem, 1.7vw, 1.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  opacity: 1 !important;
}

/* Compact headings inside account/cart/checkout and long-form policy content. */
html body.woocommerce-account .woocommerce h2,
html body.woocommerce-cart .woocommerce h2,
html body.woocommerce-checkout .woocommerce h2,
html body.woocommerce-checkout .woocommerce h3,
html body.page .hamisu-page-content .hamisu-prose h2,
html body.page .hamisu-page-content .hamisu-prose h3 {
  min-height: 0 !important;
  height: auto !important;
  color: var(--hamisu-lock-ink) !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(1.05rem, 1.35vw, 1.3rem) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
  opacity: 1 !important;
}

html body.page .hamisu-page-content .hamisu-prose h2 {
  margin: 44px 0 16px !important;
}

html body.page .hamisu-page-content .hamisu-prose h3 {
  margin: 30px 0 12px !important;
  font-size: clamp(1rem, 1.2vw, 1.15rem) !important;
}

/* Footer headings: deliberately strong enough to beat imported global H2 rules. */
html body footer.hamisu-site-footer h2 {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--hamisu-lock-paper) !important;
  background: transparent !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.14em !important;
  text-align: left !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  opacity: 1 !important;
}

html body footer.hamisu-site-footer h2::before,
html body footer.hamisu-site-footer h2::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 767px) {
  html body.page:not(.home) main#primary > .hamisu-page-hero {
    min-height: 168px !important;
    padding: 36px 20px !important;
  }

  html body.page:not(.home) .hamisu-page-hero h1,
  html body.page:not(.home) .hamisu-page-hero .entry-title,
  html body.post-type-archive-product.woocommerce-shop #primary.hamisu-shop-shell > .hamisu-container > h1.page-title {
    font-size: 1.2rem !important;
    letter-spacing: 0.065em !important;
  }

  html body.post-type-archive-product.woocommerce-shop #primary.hamisu-shop-shell > .hamisu-container > h1.page-title {
    padding: 42px 18px 30px !important;
  }
}
