/* WordPress integration; the approved POC stylesheet is unchanged. */
.reveal{opacity:1;transform:none}.terpo-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.terpo-form[aria-busy=true]{cursor:progress}.terpo-form .contact-form-status{white-space:pre-line}.terpo-editorial{padding-top:calc(var(--header-h) + 64px)}.terpo-prose{max-width:850px;line-height:1.8}.terpo-prose h2,.terpo-prose h3{margin:2em 0 1em}.terpo-prose p{margin:1em 0}.terpo-prose ul,.terpo-prose ol{padding-left:1.5em}.terpo-prose a{text-decoration:underline}.terpo-prose img{max-width:100%;height:auto}.terpo-divi-content{padding-top:var(--header-h)}.admin-bar .site-header{top:32px}.main-nav-custom{display:flex;list-style:none;gap:24px}.sorting-tabs{margin-bottom:32px}.sorting-tab{text-decoration:none}.gallery-thumb:focus-visible,.sorting-tab:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.terpo-form [aria-invalid=true]{border-color:#a32121}
@media(max-width:782px){.admin-bar .site-header{top:46px}.main-nav-custom{display:block}.terpo-editorial{padding-top:calc(var(--header-h) + 40px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.terpo-motion .reveal:not(.is-visible){opacity:0;transform:translateY(18px)}

/* Product prices: tax label stays with the unit; tax-inclusive price is a separate row. */
.product-price > span { display:block; margin-top:10px; }
.product-price strong span { display:inline-block; white-space:nowrap; }
.card-price strong small { font-family:var(--sans); font-size:11px; white-space:nowrap; }
.product-footnote { font-size:13px; line-height:1.6; color:var(--muted); margin:-10px 0 24px; }
.product-variants { width:100%; border-collapse:collapse; margin:0 0 24px; font-size:14px; }
.product-variants caption { text-align:left; font-weight:600; margin-bottom:10px; }
.product-variants th,.product-variants td { padding:12px 8px; border-bottom:1px solid var(--line); text-align:left; }
.product-variants td:last-child,.product-variants thead th:last-child { text-align:right; }
.product-variants tbody th { font-weight:400; }

/* Collection cards 1.7.1: keep compact cards in normal flow; crop only the
   photographic area of the existing artwork (excluding its baked-in frame).
   Scope to listing cards so collection detail artwork remains unchanged. */
@container (max-width: 560px) {
  .collection-card .collection-card__artwork { height: clamp(170px, 52cqw, 240px); }
  .collection-card .collection-card__artwork img {
    width: 260%; max-width: none; height: 100%; margin-left: -150%;
    object-fit: cover; object-position: center;
    transform: none;
  }
  .collection-card .collection-card__overlay {
    margin-top: clamp(170px, 52cqw, 240px); padding: 20px;
  }
  .collection-card .collection-card__lumo { font-size: 26px; }
  .collection-card .collection-card__name { font-size: clamp(24px, 6.5cqw, 32px); }
  .collection-card .collection-card__divider { margin-top: 12px; width: 44px; }
  .collection-card .collection-card__overlay-claim { margin-top: 12px; line-height: 1.5; }
  .collection-card .collection-card__specs { margin-top: 16px; gap: 8px; }
  .collection-card .collection-card__specs > span {
    grid-template-columns: 1.35em minmax(0, 1fr) minmax(0, 1.15fr);
    gap: 6px;
  }
  .collection-card .collection-card__specs em { grid-column: auto; }
  .collection-card .collection-card__overlay-link { padding-top: 20px; }
}

/* Social links in the brand column; large enough for touch and keyboard use. */
.footer-social { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid rgba(203,148,68,.5); border-radius: 50%; color: var(--gold); transition: color .2s ease, background-color .2s ease; }
.footer-social a:hover { background: var(--gold); color: var(--ink); }
.footer-social a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.footer-social svg { display: block; width: 22px; height: 22px; }
