/* Journal posts built with blocks (public site) */
.pb-content > * { margin-top: 0; }
.pb-text, .pb-classic { margin: 0 0 1.4em; }
.pb-heading { margin: 1.8em 0 .6em; }
.pb-figure { margin: 2em 0; }
.pb-figure img, .pb-slide img, .pb-grid__item img { width: 100%; height: auto; display: block; }
.pb-figure figcaption, .pb-slide figcaption, .pb-grid__item figcaption, .pb-gallery__caption {
    font-size: .85rem; color: var(--ink-faint); margin-top: .6em; text-align: center; font-style: italic;
}
@media (min-width: 1100px) { .pb-figure--wide, .pb-gallery { margin-left: -6%; margin-right: -6%; } }

.pb-quote { margin: 2em 0; padding: .4em 0 .4em 1.4em; border-left: 2px solid var(--gold); }
.pb-quote blockquote { margin: 0; font-style: italic; font-size: 1.2em; line-height: 1.5; }
.pb-quote cite { display: block; margin-top: .6em; font-size: .85rem; color: var(--ink-faint); font-style: normal; }

.pb-video { position: relative; padding-bottom: 56.25%; height: 0; margin: 2em 0; background: #000; }
.pb-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* carousel: swipes with a finger, arrows and dots with a mouse, keyboard friendly */
.pb-carousel { position: relative; margin: 2em 0; }
.pb-carousel__track {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; scrollbar-width: none; outline-offset: 4px;
}
.pb-carousel__track::-webkit-scrollbar { display: none; }
.pb-slide { flex: 0 0 100%; scroll-snap-align: center; margin: 0; }
.pb-nav {
    position: absolute; top: 42%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.35); background: rgba(0,0,0,.55); color: #fff; font-size: 1.6rem; line-height: 1;
    cursor: pointer; display: none;
}
.pb-nav--prev { left: 10px; } .pb-nav--next { right: 10px; }
@media (hover: hover) and (pointer: fine) { .pb-nav { display: block; } }
.pb-dots { display: flex; justify-content: center; gap: 8px; margin-top: 12px; }
.pb-dot { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 1px solid var(--gold); background: transparent; cursor: pointer; }
.pb-dot[aria-current="true"] { background: var(--gold); }
.pb-gallery--grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 2em 0; }
.pb-grid__item { margin: 0; }

/* artwork + store product cards */
.pb-card { display: flex; gap: 18px; align-items: stretch; margin: 2em 0; padding: 14px; text-decoration: none; color: inherit;
    border: 1px solid var(--line); background: var(--ground-elevated); }
.pb-card__img { flex: 0 0 38%; max-width: 220px; aspect-ratio: 1 / 1; overflow: hidden; background: var(--ground-soft); display: block; }
.pb-card__img img, .pb-card__img picture { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-card__body { display: flex; flex-direction: column; justify-content: center; gap: 6px; min-width: 0; flex: 1; }
.pb-card__kicker { font-family: var(--font-inscribed); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.pb-card__title { font-size: 1.25rem; line-height: 1.25; color: var(--ink); text-decoration: none; }
.pb-card__meta { color: var(--ink-soft); font-size: .9rem; }
.pb-card__link { color: var(--gold); font-size: .85rem; margin-top: 4px; }
.pb-card__row { display: flex; align-items: center; gap: 16px; margin-top: 8px; flex-wrap: wrap; }
.pb-price { font-size: 1.15rem; color: var(--ink); }
.pb-buy { white-space: nowrap; }
@media (max-width: 560px) { .pb-card { flex-direction: column; } .pb-card__img { max-width: none; flex-basis: auto; } }
