/* ==========================================================================
   P&J Prints — interior pages
   ========================================================================== */

/* Sticky header state (set by theme.js) */
.site-header.is-stuck {
  position: sticky;
  top: 0;
  z-index: 99;
  box-shadow: 0 8px 24px -14px rgba(0,0,0,.6) !important;
}

/* ---------- Split intro (About) ---------- */
.pj-split {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(26px, 4vw, 66px);
  align-items: start;
}
.pj-split h2 { margin: 0; position: sticky; top: 104px; }
.pj-prose-col p {
  font-size: 1.04rem;
  color: var(--pj-muted);
  margin: 0 0 1.15rem;
  max-width: 66ch;
}
.pj-prose-col p:first-child {
  font-size: 1.16rem;
  color: var(--pj-text);
}
@media (max-width: 860px) {
  .pj-split { grid-template-columns: 1fr; }
  .pj-split h2 { position: static; }
}

/* ---------- Numbers band ---------- */
.pj-numbers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(16px, 3vw, 40px);
  text-align: center;
}
.pj-numbers strong {
  display: block;
  font-family: 'PJ Display', sans-serif;
  font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.6rem);
  font-weight: 800;
  color: var(--pj-lime);
  line-height: 1.05;
}
.pj-numbers span {
  display: block;
  margin-top: .35rem;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pj-ink-muted);
  font-weight: 600;
}
@media (max-width: 700px) { .pj-numbers { grid-template-columns: 1fr 1fr; gap: 26px; } }

/* ---------- Contact layout ---------- */
.pj-contact {
  display: grid;
  grid-template-columns: 1.35fr .85fr;
  gap: clamp(18px, 2.6vw, 32px);
  align-items: start;
}
.pj-contact__form .pj-card { padding: clamp(24px, 3vw, 40px); }
.pj-contact__form .pj-card:hover { transform: none; box-shadow: none; border-color: var(--pj-line); }
.pj-contact__form h2 { margin: 0 0 .7rem; }
.pj-contact__hint {
  color: var(--pj-muted);
  font-size: .96rem;
  margin: 0 0 1.8rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid var(--pj-line);
}
.pj-contact__aside { display: grid; gap: clamp(14px, 1.8vw, 20px); }
.pj-contact__aside .pj-card:hover { transform: none; box-shadow: none; }
.pj-contact__aside h3 { font-size: 1.05rem; margin: 0 0 1.1rem; }
@media (max-width: 900px) { .pj-contact { grid-template-columns: 1fr; } }

.pj-deets { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.15rem; }
.pj-deets li { display: flex; gap: .85rem; align-items: flex-start; }
.pj-deets svg { flex: none; color: var(--pj-green); margin-top: .18rem; }
.pj-deets strong {
  display: block;
  font-family: 'PJ Display', sans-serif;
  font-size: .8rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--pj-muted);
  margin-bottom: .18rem;
}
.pj-deets a { font-size: .98rem; font-weight: 600; }
.pj-deets span { display: block; font-size: .92rem; color: var(--pj-muted); }

.pj-contact__trade { background: var(--pj-green-tint); border-color: var(--pj-green-line); }
.pj-contact__trade p { font-size: .95rem; margin-bottom: 1.1rem; }
.pj-ticks { list-style: none; margin: 0; padding: 0; }
.pj-ticks li {
  position: relative;
  padding-left: 1.55rem;
  font-size: .92rem;
  color: var(--pj-green-deep);
  font-weight: 500;
  margin-bottom: .5rem;
}
.pj-ticks li::before {
  content: '';
  position: absolute;
  left: 0; top: .38em;
  width: 12px; height: 7px;
  border-left: 2px solid var(--pj-green);
  border-bottom: 2px solid var(--pj-green);
  transform: rotate(-45deg);
}

.pj-contact__shop p { font-size: .95rem; margin-bottom: 1.2rem; }

/* ---------- Ninja Forms inside the card ---------- */
.pj-form .nf-form-title { display: none; }
.pj-form .nf-field-container { margin-bottom: 1.15rem; }
.pj-form .nf-field-element input[type="text"],
.pj-form .nf-field-element input[type="email"],
.pj-form .nf-field-element input[type="tel"],
.pj-form .nf-field-element textarea,
.pj-form .nf-field-element select {
  width: 100%;
  border: 1px solid var(--pj-line);
  border-radius: var(--pj-radius-sm);
  background: var(--pj-paper);
  padding: .85em 1em;
  font-family: inherit;
  font-size: .98rem;
  color: var(--pj-text);
  box-shadow: none;
  height: auto;
}
.pj-form .nf-field-element textarea { min-height: 148px; resize: vertical; }
.pj-form .nf-field-element input:focus,
.pj-form .nf-field-element textarea:focus,
.pj-form .nf-field-element select:focus {
  border-color: var(--pj-green);
  box-shadow: 0 0 0 3px rgba(11,122,43,.14);
  outline: none;
}
.pj-form .nf-field-label label {
  font-family: 'PJ Display', sans-serif;
  font-weight: 600;
  font-size: .88rem;
  color: var(--pj-ink);
  margin-bottom: .4rem;
}
.pj-form .nf-field-description { font-size: .85rem; color: var(--pj-muted); }
.pj-form .submit-container input[type="button"],
.pj-form .submit-container input[type="submit"] { width: auto; min-width: 200px; }
.pj-form .nf-error .nf-field-element input,
.pj-form .nf-error .nf-field-element textarea { border-color: #C0392B; }
.pj-form .nf-error-msg { color: #C0392B; font-size: .84rem; margin-top: .35rem; }

/* ---------- Generic page prose ---------- */
.pj-prose {
  background: var(--pj-paper);
  border: 1px solid var(--pj-line);
  border-radius: var(--pj-radius);
  padding: clamp(24px, 3.5vw, 52px);
  max-width: 78ch;
  margin-inline: auto;
}
.pj-prose > :first-child { margin-top: 0; }
.pj-prose > :last-child { margin-bottom: 0; }
.pj-prose h2 { margin: 2.4rem 0 .9rem; }
.pj-prose h3 { margin: 1.9rem 0 .7rem; }
.pj-prose p, .pj-prose li { color: var(--pj-text); }
.pj-prose ul, .pj-prose ol { padding-left: 1.3rem; }
.pj-prose li { margin-bottom: .5rem; }
.pj-prose img { border-radius: var(--pj-radius-sm); }
.pj-prose table { width: 100%; border-collapse: collapse; }
.pj-prose :is(table, pre) { display: block; overflow-x: auto; min-width: 0; }

/* ---------- Shop / archive header ---------- */
.woocommerce .woocommerce-products-header { margin-bottom: 1.5rem; }
.woocommerce .woocommerce-products-header__title { margin: 0; }
.woocommerce .term-description { color: var(--pj-muted); max-width: 68ch; }

/* About: a real job shot alongside the story copy */
.pj-about-figure {
  margin: 1.8rem 0 0;
  border-radius: var(--pj-radius);
  overflow: hidden;
  border: 1px solid var(--pj-line);
  background: var(--pj-shell-2);
}
.pj-about-figure img { display: block; width: 100%; height: auto; }
.pj-about-figure figcaption {
  padding: .7rem .9rem;
  font-size: .82rem;
  color: var(--pj-muted);
  background: var(--pj-paper);
  border-top: 1px solid var(--pj-line);
}
@media (max-width: 860px) { .pj-about-figure { margin-bottom: 1.6rem; } }

/* ---------- Address + "finding us" map ---------- */
.pj-address {
  font-style: normal;
  font-size: .95rem;
  line-height: 1.55;
  color: var(--pj-text);
  margin: 0 0 .5rem;
}
.pj-link--sm { font-size: .84rem; }

.pj-map {
  margin: 0;
  border-radius: var(--pj-radius);
  overflow: hidden;
  border: 1px solid var(--pj-line);
  background: var(--pj-shell-2);
  max-width: 900px;
  margin-inline: auto;
  box-shadow: var(--pj-shadow);
}
.pj-map img { display: block; width: 100%; height: auto; }

.pj-map__note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin: 1.1rem 0 0;
  font-size: .92rem;
  color: var(--pj-muted);
  text-align: center;
}
.pj-map__note svg { flex: none; color: var(--pj-green); }
