/* PosterDatabase Marketplace – public pages. Inherits the theme's fonts; adds structure only. */
:root { --pdm-ink: #1d2433; --pdm-slate: #4a5263; --pdm-rule: #dde0da; --pdm-wall: #f2f3f0; --pdm-accent: #2643d0; }

.pdm-btn, .button.pdm-btn { background: var(--pdm-accent) !important; color: #fff !important; border-radius: 6px; }

/* Artist shop */
.pdm-shop { padding-top: 24px; padding-bottom: 40px; }
.pdm-shop__notice { background: #fbf0dc; border: 1px solid #eed3a3; padding: 10px 14px; border-radius: 6px; }
.pdm-shop__banner { aspect-ratio: 3 / 1; max-height: 340px; width: 100%; background: var(--pdm-wall) center / cover no-repeat; border-radius: 6px; }
.pdm-shop__id { display: flex; gap: 24px; align-items: flex-start; margin: 20px 0 8px; }
.pdm-shop__head.has-banner .pdm-shop__id { margin-top: -56px; padding: 0 16px; }
.pdm-shop__avatar { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; border: 4px solid #fff; background: var(--pdm-accent); flex: none; }
.pdm-shop__avatar--initial { display: grid; place-content: center; color: #fff; font-size: 44px; font-weight: 700; }
.pdm-shop__intro { flex: 1; min-width: 0; padding-top: 8px; }
.pdm-shop__head.has-banner .pdm-shop__intro { padding-top: 64px; }
.pdm-shop__name { margin: 0 0 2px; line-height: 1.15; }
.pdm-shop__count { color: var(--pdm-slate); margin: 0 0 10px; }
.pdm-shop__bio { max-width: 68ch; }
.pdm-shop__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.pdm-shop__actions .button { margin: 0; }
.pdm-follow.is-following { background: var(--pdm-ink); color: #fff; }
.pdm-shop__link { font-size: .9em; margin-left: 4px; }
.pdm-shop__tools { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 12px; align-items: center; }
.pdm-shop__tools input[type=search] { flex: 1 1 220px; margin: 0; }
.pdm-shop__tools select, .pdm-shop__tools .button { margin: 0; width: auto; }
.pdm-shop__cats { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.pdm-shop__cats a { padding: 5px 12px; border: 1px solid var(--pdm-rule); border-radius: 999px; font-size: .9em; text-decoration: none; color: inherit; }
.pdm-shop__cats a span { color: var(--pdm-slate); }
.pdm-shop__cats a[aria-current] { background: var(--pdm-ink); border-color: var(--pdm-ink); color: #fff; }
.pdm-shop__cats a[aria-current] span { color: #cfd4df; }
@media (max-width: 640px) {
	.pdm-shop__id { flex-direction: column; align-items: center; text-align: center; }
	.pdm-shop__head.has-banner .pdm-shop__intro { padding-top: 0; }
	.pdm-shop__actions { justify-content: center; }
	.pdm-shop__avatar { width: 96px; height: 96px; }
}

/* Catalogue filters */
.pdm-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: flex-end; margin: 0 0 20px; padding: 12px 0; border-top: 1px solid var(--pdm-rule); border-bottom: 1px solid var(--pdm-rule); }
.pdm-filters label { display: flex; flex-direction: column; gap: 4px; font-size: .85em; margin: 0; }
.pdm-filters label > span:first-child { color: var(--pdm-slate); }
.pdm-filters select, .pdm-filters input { margin: 0; min-width: 0; }
.pdm-filters__price { display: flex; gap: 6px; }
.pdm-filters__price input { width: 80px; }
.pdm-filters .button { margin: 0; }
.pdm-filters__clear { font-size: .9em; align-self: center; }

/* Product page */
.pdm-byline { margin: -4px 0 12px; color: var(--pdm-slate); }
.pdm-loop-artist { display: block; font-size: .85em; color: var(--pdm-slate); }
.pdm-download-box { border: 1px solid var(--pdm-rule); border-radius: 6px; padding: 14px 16px; margin: 16px 0; background: #fff; }
.pdm-download-box p { margin: 0 0 6px; }
.pdm-download-box__title { font-weight: 700; }
.pdm-download-box__facts span { color: var(--pdm-slate); }
.pdm-download-box__report { font-size: .85em; margin-top: 8px !important; }
.pdm-download-box__report a { color: var(--pdm-slate); }
.pdm-more h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pdm-more__all { font-size: .6em; font-weight: 400; }

/* Forms (register, report) */
.pdm-register { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
@media (max-width: 800px) { .pdm-register { grid-template-columns: 1fr; gap: 16px; } }
.pdm-ticks { list-style: none; margin: 0; padding: 0; }
.pdm-ticks li { padding: 6px 0 6px 28px; position: relative; }
.pdm-ticks li::before { content: "✓"; position: absolute; left: 0; color: #2e7d4f; font-weight: 700; }
.pdm-form { max-width: 560px; }
.pdm-field { margin-bottom: 14px; }
.pdm-field label { display: block; font-weight: 600; margin-bottom: 4px; }
.pdm-field input, .pdm-field select, .pdm-field textarea { width: 100%; margin-bottom: 0; }
.pdm-field small { display: block; color: var(--pdm-slate); margin-top: 2px; }
.pdm-check label { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
.pdm-check input { width: auto; margin-top: 5px; }
.pdm-err { display: block; color: #b3261e; font-size: .9em; }
.pdm-form__error { color: #b3261e; }
.pdm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pdm-small, .pdm-note { color: var(--pdm-slate); }
.pdm-form .is-invalid { border-color: #b3261e !important; }

/* Artist cards */
.pdm-artists { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px; }
.pdm-artist-card a { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; text-decoration: none; color: inherit; }
.pdm-artist-card img, .pdm-artist-card__initial { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; background: var(--pdm-accent); color: #fff; display: grid; place-content: center; font-size: 40px; font-weight: 700; }
.pdm-artist-card span { font-size: .85em; color: var(--pdm-slate); }

/* CTA */
.pdm-cta { display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--pdm-ink); color: #fff; padding: 28px; border-radius: 8px; margin: 32px 0; }
.pdm-cta h2 { color: #fff; margin: 0 0 6px; }
.pdm-cta p { margin: 0; color: #cfd4df; max-width: 60ch; }

/* Homepage */
.pdm-hero { text-align: center; padding: clamp(32px, 6vw, 80px) 16px; }
.pdm-hero h1 { font-size: clamp(2rem, 1.4rem + 3vw, 3.6rem); line-height: 1.05; margin: 0 0 12px; letter-spacing: -.02em; }
.pdm-hero p { max-width: 56ch; margin: 0 auto 24px; color: var(--pdm-slate); font-size: 1.1em; }
.pdm-hero__search { display: flex; max-width: 620px; margin: 0 auto; gap: 8px; }
.pdm-hero__search input { flex: 1; margin: 0; min-height: 50px; font-size: 1.05em; }
.pdm-hero__search .button { margin: 0; min-height: 50px; }
.pdm-home__section { margin: 40px 0; }
.pdm-home__section > h2 { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pdm-home__section > h2 a { font-size: .55em; font-weight: 400; }
.pdm-cats { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px; }
.pdm-cats a { display: block; position: relative; border-radius: 6px; overflow: hidden; background: var(--pdm-wall); aspect-ratio: 4 / 5; color: #fff; text-decoration: none; }
.pdm-cats img { width: 100%; height: 100%; object-fit: cover; }
.pdm-cats span { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 12px 10px; background: linear-gradient(transparent, rgba(0,0,0,.7)); font-size: .85em; }
.pdm-cats strong { display: block; font-size: 1.1em; }
.pdm-how ol { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; padding-left: 1.2em; }
.pdm-how li strong { display: block; }
.pdm-how li span { color: var(--pdm-slate); }

/* Split checkout notice on the cart */
.pdm-split-checkout { border: 1px solid var(--pdm-rule); border-radius: 8px; padding: 16px 18px; margin-bottom: 24px; background: #fff; }
.pdm-split-checkout ul { list-style: none; margin: 10px 0 0; padding: 0; }
.pdm-split-checkout li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--pdm-rule); flex-wrap: wrap; }
.pdm-split-checkout .button { margin: 0; }

/* Artist shops have no sidebar: use the full content width. */
.pdm-artist-shop .content-area { width: 100%; float: none; margin-right: 0; }
.pdm-artist-shop .widget-area { display: none; }

/* Ask the Artist */
.pdm-ask { margin: 6px 0 14px; }
.pdm-shop__actions .pdm-ask { margin: 0; }
.pdm-modal { border: 0; border-radius: 10px; padding: 0; width: min(520px, calc(100vw - 24px)); max-height: calc(100vh - 24px); box-shadow: 0 20px 60px rgba(0,0,0,.25); }
.pdm-modal::backdrop { background: rgba(29,36,51,.55); }
.pdm-modal form, .pdm-modal .pdm-ask-done { padding: 22px 22px 18px; position: relative; max-width: none; }
.pdm-modal h2 { margin: 0 0 4px; font-size: 1.35em; }
.pdm-ask-about { color: var(--pdm-slate); margin: 0 0 14px; }
.pdm-modal__close { position: absolute; top: 8px; right: 10px; border: 0; background: none; font-size: 26px; line-height: 1; cursor: pointer; color: var(--pdm-slate); padding: 6px; }
.pdm-modal textarea { min-height: 120px; }
@media (max-width: 600px) { .pdm-modal { width: 100vw; max-width: 100vw; max-height: 100vh; height: 100vh; margin: 0; border-radius: 0; } }

/* Conversation page */
.pdm-convo { max-width: 760px; margin: 0 auto; padding-top: 24px; padding-bottom: 40px; }
.pdm-convo__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border-bottom: 1px solid var(--pdm-rule); padding-bottom: 14px; margin-bottom: 18px; }
.pdm-convo__with { margin: 0; font-size: 1.15em; font-weight: 600; }
.pdm-convo__product { display: flex; gap: 10px; align-items: center; text-decoration: none; color: inherit; border: 1px solid var(--pdm-rule); border-radius: 8px; padding: 6px 12px 6px 6px; }
.pdm-convo__product img { width: 44px; height: 44px; object-fit: cover; border-radius: 4px; }
.pdm-convo__product small { display: block; color: var(--pdm-slate); }
.pdm-thread { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pdm-msg { max-width: 85%; }
.pdm-msg--me { align-self: flex-end; }
.pdm-msg__who { display: block; font-size: .8em; color: var(--pdm-slate); margin-bottom: 3px; }
.pdm-msg--me .pdm-msg__who { text-align: right; }
.pdm-msg__body { padding: 10px 14px; border-radius: 14px; background: var(--pdm-wall); line-height: 1.5; overflow-wrap: anywhere; }
.pdm-msg--me .pdm-msg__body { background: var(--pdm-accent); color: #fff; border-bottom-right-radius: 4px; }
.pdm-msg--them .pdm-msg__body { border-bottom-left-radius: 4px; }
.pdm-reply { max-width: none; }
.pdm-convo__foot { font-size: .85em; color: var(--pdm-slate); margin-top: 18px; }
.pdm-link { background: none; border: 0; padding: 0; color: var(--pdm-slate); text-decoration: underline; cursor: pointer; font: inherit; margin-left: 6px; }

/* My Account > Messages */
.pdm-inbox { list-style: none; margin: 0; padding: 0; }
.pdm-inbox li a { display: flex; gap: 10px; align-items: baseline; flex-wrap: wrap; padding: 12px 0; border-bottom: 1px solid var(--pdm-rule); text-decoration: none; color: inherit; }
.pdm-inbox li span { margin-left: auto; color: var(--pdm-slate); font-size: .9em; }
.pdm-inbox li.is-unread strong::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--pdm-accent); margin-right: 6px; vertical-align: middle; }
.pdm-badge { background: var(--pdm-accent); color: #fff; border-radius: 999px; padding: 1px 8px; font-size: .75em; }

/* Artist FAQ (v1.2) */
.pdm-faq { max-width: 760px; margin: 0 0 28px; }
.pdm-faq h2 { font-size: 1.25em; margin: 0 0 10px; }
.pdm-faq details { border-top: 1px solid #e3e3e3; padding: 10px 0; }
.pdm-faq details:last-of-type { border-bottom: 1px solid #e3e3e3; }
.pdm-faq summary { cursor: pointer; font-weight: 600; }
.pdm-faq details > div { padding-top: 6px; }
.pdm-faq__more { margin-top: 14px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.pdm-faq-link { font-size: .9em; margin-left: 8px; }
