/*
 * Held Stone canonical visual system closeout.
 * Scoped to the approved public pages so commerce controls remain untouched.
 */
:root {
  --hs-brand-ink: #3a2a22;
  --hs-brand-brown: #4e3d30;
  --hs-brand-brown-hover: #3f3026;
  --hs-brand-ivory: #fff8f1;
  --hs-brand-surface: #fffdf9;
  --hs-brand-border: #e8ded4;
  --hs-brand-muted: #6f6259;
  --hs-brand-button-radius: 8px;
  --hs-brand-card-radius: 14px;
  --hs-brand-section-gap: clamp(44px, 5vw, 72px);
}

/* Gutenberg applies component classes to both wrapper and link. Reset wrappers. */
body.page-id-809 .hsj-home-v3__button.wp-block-button,
body.page-id-829 .hsj-r3-intention__button.wp-block-button,
body.page-id-824 .hsj-story-v3__button.wp-block-button,
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__button.wp-block-button {
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Shared button geometry. */
body.page-id-809 .hsj-home-v3__button .wp-block-button__link,
body.page-id-829 .hsj-r3-intention__button.wp-block-button__link,
body.page-id-824 .hsj-story-v3__button.wp-block-button__link,
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__button.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid var(--hs-brand-brown);
  border-radius: var(--hs-brand-button-radius);
  background: var(--hs-brand-brown);
  color: var(--hs-brand-ivory) !important;
  box-shadow: none;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

body.page-id-809 .hsj-home-v3__button .wp-block-button__link:hover,
body.page-id-829 .hsj-r3-intention__button.wp-block-button__link:hover,
body.page-id-824 .hsj-story-v3__button.wp-block-button__link:hover,
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__button.wp-block-button__link:hover {
  border-color: var(--hs-brand-brown-hover);
  background: var(--hs-brand-brown-hover);
  color: var(--hs-brand-ivory) !important;
}

body.page-id-809 .hsj-home-v3__button--secondary .wp-block-button__link,
body.page-id-829 .hsj-r3-intention__button.is-secondary.wp-block-button__link,
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__button--secondary.wp-block-button__link {
  border-color: var(--hs-brand-brown);
  background: transparent;
  color: var(--hs-brand-brown) !important;
}

body.page-id-809 .hsj-home-v3__button--secondary .wp-block-button__link:hover,
body.page-id-829 .hsj-r3-intention__button.is-secondary.wp-block-button__link:hover,
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__button--secondary.wp-block-button__link:hover {
  border-color: var(--hs-brand-brown);
  background: var(--hs-brand-brown);
  color: var(--hs-brand-ivory) !important;
}

/* Keep the Home hero secondary legible on photography. */
body.page-id-809 .hsj-home-v3__button--hero-secondary .wp-block-button__link {
  border-color: rgba(255, 248, 241, 0.7);
  background: rgba(255, 248, 241, 0.12);
  color: var(--hs-brand-ivory) !important;
  backdrop-filter: blur(4px);
}

/* Home category frames: equal visual rhythm without cropping real products. */
body.page-id-809 .hsj-v3-collections__grid {
  align-items: stretch;
}

body.page-id-809 .hsj-v3-collections__card-shell {
  height: 100%;
  grid-template-rows: auto 1fr;
}

body.home.page-id-809 .hsj-home-v3.hsj-home-v3--final .hsj-v3-collections__figure {
  position: relative;
  display: grid;
  width: 100%;
  place-items: center;
  overflow: hidden;
  background: #f3ece4;
}

body.home.page-id-809 .hsj-home-v3.hsj-home-v3--final .hsj-v3-collections__figure > a {
  position: absolute;
  inset: 0;
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  overflow: hidden;
}

body.home.page-id-809 .hsj-home-v3.hsj-home-v3--final .hsj-v3-collections__figure > a > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
}

/* Intention: remove nested color blocks and align each CTA group. */
body.page-id-829 .hsj-r3-intention__cta-actions {
  align-items: center;
  gap: 12px;
}

body.page-id-829 .hsj-r3-intention__meaning,
body.page-id-829 .hsj-r3-intention__guidance,
body.page-id-829 .hsj-r3-intention__cta {
  margin-top: var(--hs-brand-section-gap);
}

/* Our Story: coordinated panels, complete images, and one centered CTA cluster. */
body.page-id-824 .hsj-story-v3__split {
  align-items: stretch;
}

body.page-id-824 .hsj-story-v3__panel--image {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #e8d8c9;
}

body.page-id-824 .hsj-story-v3__panel--image figure {
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0;
  align-items: center;
  justify-content: center;
}

body.page-id-824 .hsj-story-v3__panel--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

body.page-id-824 .hsj-story-v3__closing-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

body.page-id-824 .hsj-story-v3__closing .wp-block-buttons {
  justify-content: center;
}

body.page-id-824 .hsj-story-v3__button.wp-block-button__link {
  margin-top: 28px;
  border-color: var(--hs-brand-ivory);
  background: var(--hs-brand-ivory);
  color: var(--hs-brand-brown) !important;
}

/* Policy, FAQ, and tracking cards share one quiet surface system. */
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  :is(.hsj-info-page-v3__notice-card, .hsj-info-page-v3__policy-card, .hsj-info-page-v3__track-card, .hsj-faq-v3__item) {
  height: 100%;
  border: 1px solid var(--hs-brand-border);
  border-radius: var(--hs-brand-card-radius);
  background: var(--hs-brand-surface);
  box-shadow: none;
}

body:is(.page-id-174, .page-id-624, .page-id-896) .hsj-info-page-v3__policy-grid {
  align-items: stretch;
  gap: 20px;
}

body:is(.page-id-174, .page-id-624, .page-id-896) .hsj-info-page-v3__policy-grid > * {
  height: 100%;
}

body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896) .hsj-info-page-v3__cta {
  border-radius: 16px;
}

body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896) .hsj-info-page-v3__cta-inner {
  padding: clamp(28px, 4vw, 40px);
}

/* Inverse canonical buttons on dark CTA surfaces. */
body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__cta .hsj-info-page-v3__button--primary.wp-block-button__link {
  border-color: var(--hs-brand-ivory);
  background: var(--hs-brand-ivory);
  color: var(--hs-brand-brown) !important;
}

body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
  .hsj-info-page-v3__cta .hsj-info-page-v3__button--secondary.wp-block-button__link {
  border-color: rgba(255, 248, 241, 0.62);
  background: transparent;
  color: var(--hs-brand-ivory) !important;
}

/* Contact cards and widths align without changing WPForms behavior. */
body.page-id-220 :is(.hsj-contact-v3__section-card, .hsj-contact-v3__form-card, .hsj-contact-v3__contact-card, .hsj-contact-v3__help-card) {
  border: 1px solid var(--hs-brand-border);
  border-radius: var(--hs-brand-card-radius);
  background: var(--hs-brand-surface);
  box-shadow: none;
}

body.page-id-220 :is(.hsj-contact-v3__contact-card, .hsj-contact-v3__help-card) {
  height: 100%;
}

body.page-id-220 :is(.contact-tiles, .hsj-contact-v3__help-grid) {
  align-items: stretch;
  gap: 18px;
}

body.page-id-220 :is(.hsj-contact-v3__contact-block, .hsj-contact-v3__form-section, .hsj-contact-v3__helpful-links) {
  padding-block: clamp(30px, 4vw, 48px);
}

@media (max-width: 767px) {
  body.page-id-809 .hsj-home-v3__button .wp-block-button__link,
  body.page-id-829 .hsj-r3-intention__button.wp-block-button__link,
  body.page-id-824 .hsj-story-v3__button.wp-block-button__link,
  body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
    .hsj-info-page-v3__button.wp-block-button__link {
    width: 100%;
    max-width: 100%;
  }

  body.page-id-824 .hsj-story-v3__panel--image figure,
  body.page-id-824 .hsj-story-v3__panel--image img {
    height: auto;
  }

  body.page-id-824 .hsj-story-v3__panel--image img {
    object-fit: contain;
  }

  body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896) .hsj-info-page-v3__cta-buttons,
  body.page-id-829 .hsj-r3-intention__cta-actions {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-809 .hsj-home-v3__button .wp-block-button__link,
  body.page-id-829 .hsj-r3-intention__button.wp-block-button__link,
  body.page-id-824 .hsj-story-v3__button.wp-block-button__link,
  body:is(.page-id-172, .page-id-174, .page-id-624, .page-id-896)
    .hsj-info-page-v3__button.wp-block-button__link {
    transition: none;
  }
}
