/* ==========================================================================
   Content + utility pages — loaded after base.css
   About · Contact · FAQ · Shipping & returns · Size guide · Legal (.prose) ·
   Search · Wishlist · 404 · shared tables/steps/panels
   ========================================================================== */


/* Shared bits */
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; min-width: 28rem; border-collapse: collapse; font-family: var(--font-mono); font-size: 0.85rem; }
.data-table th, .data-table td { padding: 0.8rem 0.6rem; text-align: left; border-bottom: 1px solid var(--line-dark); }
.data-table thead th { color: var(--steel); font-weight: 500; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; }
.data-table tbody th { color: var(--ember); font-weight: 600; }
.data-table tr:last-child > * { border-bottom: 0; }
.steps { display: grid; gap: 1rem; counter-reset: s; }
.step { display: grid; gap: 0.5rem; padding: 1.25rem; border: 1px solid var(--line-dark); border-radius: var(--radius); }
.step__n { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 999px; background: var(--ember); color: var(--soot); font-size: 1.3rem; }
.step__t { font-size: 1.6rem; line-height: 1; }
@media (min-width: 768px) { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .steps { grid-template-columns: repeat(4, 1fr); } }
.form-done { display: grid; justify-items: start; gap: 0.75rem; }

/* About */
.about-intro__grid { display: grid; gap: 2.5rem; align-items: center; }
.about-intro__grid > * { min-width: 0; }
.about-intro__img { position: relative; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); background: var(--iron); }
.about-intro__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-intro__text { display: grid; gap: 1.25rem; }
@media (min-width: 992px) { .about-intro__grid { grid-template-columns: 1fr 1.1fr; gap: 5rem; } }
.about-pillars { display: grid; gap: 1px; margin-top: 2.5rem; background: var(--line-dark); border: 1px solid var(--line-dark); }
.about-pillar { display: grid; gap: 0.5rem; padding: 1.75rem 1.5rem; background: var(--iron); }
.about-pillar__n { font-size: 4rem; line-height: 0.9; color: var(--ember); }
.about-pillar__t { font-size: 2.2rem; line-height: 1; }
@media (min-width: 768px) { .about-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .about-pillars { grid-template-columns: repeat(4, 1fr); } }
.about-values { display: grid; gap: 2rem; }
.about-value { display: grid; gap: 0.75rem; padding-top: 1.25rem; border-top: 1px solid var(--line-dark); }
.about-value__n { font-size: 1.2rem; color: var(--ember); }
@media (min-width: 768px) { .about-values { grid-template-columns: repeat(3, 1fr); } }
.cta-band { border-top: 1px solid var(--line-dark); background: radial-gradient(60% 100% at 50% 100%, rgb(226 85 31 / 0.15), transparent 70%); }
.cta-band__inner { display: grid; justify-items: center; gap: 1.5rem; padding-block: 5rem; text-align: center; }

/* Contact */
.contact__grid { display: grid; gap: 1.5rem; padding-block: 2.5rem 6rem; }
.contact__grid > * { min-width: 0; }
.contact__form { gap: 1.5rem; }
.contact__form .btn { justify-self: start; }
.contact__side { display: grid; gap: 0.75rem; align-content: start; }
.contact-card { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid var(--line-dark); border-radius: var(--radius); transition: border-color 0.2s; }
.contact-card > .icon { color: var(--ember); }
.contact-card .display { display: block; margin-top: 0.25rem; font-size: clamp(1.15rem, 2vw, 1.5rem); line-height: 1; overflow-wrap: anywhere; }
a.contact-card:hover { border-color: var(--ember); }
.contact-card--plain { display: grid; gap: 0.6rem; justify-items: start; }
@media (min-width: 992px) { .contact__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 3rem; } }

/* FAQ */
.faq { display: grid; gap: 2.5rem; max-width: 56rem; padding-block: 2.5rem 6rem; }
.faq-group { display: grid; }
.faq-group[hidden] { display: none; }
.faq-group__title { margin-bottom: 0.5rem; color: var(--ember); }
.acc { border-top: 1px solid var(--line-dark); }
.faq-group .acc:last-child { border-bottom: 1px solid var(--line-dark); }
.acc summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.1rem; }
.acc__q { font-size: clamp(1.05rem, 1.6vw, 1.3rem); }
.acc summary .icon { flex-shrink: 0; transition: transform 0.3s; }
.acc[open] summary .icon { transform: rotate(45deg); color: var(--ember); }
.acc__body { padding-bottom: 1.25rem; max-width: 46rem; }
.faq__more { justify-items: start; }

/* Shipping & returns */
.policy { display: grid; gap: 1.5rem; padding-block: 2.5rem 6rem; }
.policy-cards { display: grid; gap: 0.75rem; }
.policy-card .icon { color: var(--ember); }
@media (min-width: 768px) { .policy-cards { grid-template-columns: repeat(3, 1fr); } }
.policy__h { margin-top: 2rem; }

/* Size guide */
.sg { display: grid; gap: 1.5rem; padding-block: 2.5rem 6rem; }
.sg__tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
.sg__tabs .chip { white-space: nowrap; }
.sg-panel[hidden] { display: none; }
.sg-measure { display: grid; gap: 1.25rem; margin-top: 2rem; }

/* Legal / long-form text (.prose styles WordPress the_content()) */
.legal { display: grid; gap: 2rem; padding-block: 2.5rem 6rem; }
.legal > * { min-width: 0; }
.legal__toc ol { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.75rem; }
.legal__toc a { display: inline-block; padding: 0.45rem 0.8rem; border: 1px solid var(--line-dark); border-radius: 999px; font-size: 0.85rem; color: var(--ash); }
.legal__toc a.is-active, .legal__toc a:hover { color: var(--ember); border-color: var(--ember); }
@media (min-width: 992px) {
  .legal { grid-template-columns: 15rem minmax(0, 1fr); gap: 4rem; }
  .legal__toc { position: sticky; top: calc(var(--nav-h) + 1.5rem); align-self: start; }
  .legal__toc ol { display: grid; gap: 0.25rem; }
  .legal__toc a { border: 0; padding: 0.35rem 0 0.35rem 0.85rem; border-left: 2px solid var(--line-dark); border-radius: 0; }
  .legal__toc a.is-active { border-left-color: var(--ember); }
}
.prose { max-width: 46rem; color: var(--ash); line-height: 1.7; }
.prose > * + * { margin-top: 1.1em; }
.prose h2 { margin-top: 2.5rem; color: var(--bone); }
.prose h3 { margin-top: 2rem; color: var(--bone); font-size: 1.3rem; font-weight: 600; }
.prose a { color: var(--ember); text-decoration: underline; text-underline-offset: 3px; }
.prose ul, .prose ol { padding-left: 1.25rem; }
.prose ul { list-style: none; }
.prose ul li { position: relative; }
.prose ul li::before { content: ""; position: absolute; left: -1.1rem; top: 0.7em; width: 0.4rem; height: 2px; background: var(--ember); }
.prose ol { list-style: decimal; }
.prose li + li { margin-top: 0.4em; }
.prose strong { color: var(--bone); }
.prose blockquote { padding-left: 1.25rem; border-left: 2px solid var(--ember); color: var(--bone); font-size: 1.15rem; }
.legal__section { scroll-margin-top: calc(var(--nav-h) + 1rem); }
.legal__section:first-child h2 { margin-top: 0; }

/* Search page */
.search-page__form { display: flex; align-items: center; gap: 0.75rem; margin-top: 1.5rem; padding-bottom: 0.75rem; border-bottom: 1px solid var(--line-dark); }
.search-page__form > .icon { color: var(--ember); flex-shrink: 0; }
.search-page__count { margin-top: 1rem; }
.shop-grid__item[hidden] { display: none; }

/* Wishlist */
.wish-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 0.75rem; }
@media (min-width: 768px) { .wish-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 1.25rem; } }
@media (min-width: 1200px) { .wish-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wish-item { position: relative; display: grid; gap: 0.75rem; align-content: start; }
.wish-item__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); background: var(--studio); }
.wish-item__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.wish-item__media:hover img { transform: scale(1.03); }
.wish-item__remove { position: absolute; right: 0.6rem; top: 0.6rem; z-index: 1; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: 999px; background: rgb(14 13 11 / 0.6); color: var(--bone); }
.wish-item__remove:hover { background: var(--ember); color: var(--soot); }
.wish-item__name { font-size: clamp(1.15rem, 1.6vw, 1.5rem); line-height: 1; }
.wish-item__meta { color: var(--steel); }
.wish-item__sizes { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.wish-item__sizes .size-btn { min-width: 2.4rem; padding-inline: 0.4rem; }
.inline-icon { display: inline-block; vertical-align: -0.15em; color: var(--ember); }

/* 404 */
.notfound { min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; }
.notfound__inner { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 1.25rem; padding-block: calc(var(--nav-h) + 3rem) 5rem; text-align: center; }
.notfound__code { font-size: clamp(8rem, 34vw, 26rem); line-height: 0.8; color: transparent; -webkit-text-stroke: 2px var(--ember); }
.notfound__search { width: 100%; max-width: 34rem; margin-block: 0.5rem 1rem; }
.notfound .btn-row { justify-content: center; }
.sg__one strong { color: var(--bone); font-weight: 600; }
.sg-panel .buy__note { display: flex; align-items: center; gap: 0.5rem; padding: 0.65rem 0.85rem; border: 1px solid rgb(226 85 31 / 0.4); border-radius: var(--radius); background: rgb(226 85 31 / 0.08); color: var(--ember-hot); font-size: 0.9rem; }
