/* Journal (blog), static pages, comments, sidebar widgets, search and 404. Prefix: .craftmarket-* (frame). */

/* Archive grid */
.craftmarket-blog { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; padding-block: 48px 0; }
.craftmarket-blog.has-sidebar { grid-template-columns: minmax(0, 1fr) minmax(0, 320px); }
.craftmarket-blog__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 32px var(--gutter); }

.craftmarket-post-card { display: grid; grid-template-rows: auto 1fr; min-width: 0; overflow: hidden; border: 1px solid var(--border-default); border-radius: var(--card-radius); background: var(--bg-card); transition: box-shadow .25s ease, transform .25s ease; }
.craftmarket-post-card:hover { box-shadow: 0 18px 40px -24px rgba(31, 22, 16, .35); transform: translateY(-2px); }
/* First post of the first page: a wide feature card, photo beside the text. */
@media (min-width: 768px) {
  body:not(.paged) .craftmarket-blog__grid > .craftmarket-post-card:first-child { grid-column: 1 / -1; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); grid-template-rows: none; }
  body:not(.paged) .craftmarket-blog__grid > .craftmarket-post-card:first-child .craftmarket-post-card__media { aspect-ratio: auto; min-height: 320px; }
  body:not(.paged) .craftmarket-blog__grid > .craftmarket-post-card:first-child .craftmarket-post-card__body { justify-content: center; gap: 14px; padding: 36px; }
  body:not(.paged) .craftmarket-blog__grid > .craftmarket-post-card:first-child .craftmarket-post-card__title { font-size: clamp(24px, 2.4vw, 32px); }
  body:not(.paged) .craftmarket-blog__grid > .craftmarket-post-card:first-child .craftmarket-post-meta { margin-top: 8px; }
}
.craftmarket-post-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--bg-subtle); }
.craftmarket-post-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.craftmarket-post-card:hover .craftmarket-post-card__media img { transform: scale(1.04); }
.craftmarket-post-card__body { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 24px; }
.craftmarket-post-card__body .craftmarket-post-meta { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--border-default); }
.craftmarket-post-card__body .craftmarket-kicker { margin: 0; }
.craftmarket-post-card__title { margin: 0; font-size: 22px; line-height: 1.25; overflow-wrap: anywhere; }
.craftmarket-post-card__title a { color: var(--text-heading); }
.craftmarket-post-card__title a:hover { color: var(--color-primary); }
.craftmarket-post-card__excerpt { color: var(--text-secondary); font-size: 15px; }
.craftmarket-post-card__excerpt p { margin: 0; }
.craftmarket-post-card__sticky { align-self: flex-start; }
.craftmarket-post-card.sticky { border-color: var(--color-primary); box-shadow: 0 0 0 1px var(--color-primary); }
.craftmarket-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin-top: auto; color: var(--text-secondary); font-size: 13px; }
/* The dot ends the item before it, so a wrapped line never starts with one. */
.craftmarket-post-meta > :not(:last-child)::after { content: "\00B7"; margin-inline-start: 10px; color: var(--text-muted); }
.craftmarket-post-meta__author { color: var(--text-heading); font-weight: 500; }

/* Single */
.craftmarket-single__head { max-width: 860px; padding-block: 40px 24px; text-align: center; }
.craftmarket-single__head .craftmarket-breadcrumbs ol { justify-content: center; }
.craftmarket-single__head .craftmarket-post-meta { justify-content: center; }
.craftmarket-single__title { margin: 0 0 14px; font-size: var(--fs-h1); overflow-wrap: anywhere; }
.craftmarket-single__media { margin-block: 0 40px; }
.craftmarket-single__media img { display: block; width: 100%; max-height: 640px; border-radius: var(--radius-lg); object-fit: cover; }
.craftmarket-single__layout { display: grid; grid-template-columns: minmax(0, 760px); justify-content: center; gap: 56px; }
.craftmarket-single__layout.has-sidebar { grid-template-columns: minmax(0, 1fr) minmax(0, 320px); }
.craftmarket-single__main { min-width: 0; }
.craftmarket-single__content { font-size: 17px; line-height: 1.75; }
.craftmarket-single__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 32px; }
.craftmarket-single__tags-label { margin-inline-end: 6px; color: var(--text-heading); font-weight: 600; }
.craftmarket-single__tags a { padding: 4px 12px; border: 1px solid var(--border-default); border-radius: var(--radius-pill); color: var(--text-body); font-size: 13px; }
.craftmarket-single__tags a:hover { border-color: var(--color-primary); color: var(--color-primary); }
.craftmarket-postnav { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--border-default); }
.craftmarket-postnav .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.craftmarket-postnav .nav-next { text-align: end; grid-column: 2; }
.craftmarket-postnav a { display: grid; gap: 4px; color: var(--text-heading); }
.craftmarket-postnav__label { color: var(--text-muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.craftmarket-postnav__title { font-family: var(--font-heading); font-size: 18px; overflow-wrap: anywhere; }

/* Page */
.craftmarket-page__body { padding-block: 48px 0; }
.craftmarket-page__content { max-width: 860px; margin-inline: auto; }
.craftmarket-page__body--woo .craftmarket-page__content { max-width: none; }
.craftmarket-page__comments { max-width: 860px; margin: 48px auto 0; }

/* Sidebar & widgets */
.craftmarket-sidebar { display: grid; align-content: start; gap: 28px; min-width: 0; }
.craftmarket-sidebar .widget { min-width: 0; padding: 24px; border: 1px solid var(--border-default); border-radius: var(--card-radius); background: var(--bg-card); }
.craftmarket-sidebar .widget__title,
.craftmarket-sidebar .widget .wp-block-heading,
.craftmarket-sidebar .widget h2,
.craftmarket-sidebar .widget h3 { margin: 0 0 16px; font-size: 20px; }
.craftmarket-sidebar .widget ul { margin: 0; padding: 0; list-style: none; }
.craftmarket-sidebar .widget li { padding: 7px 0; border-bottom: 1px solid var(--border-default); overflow-wrap: anywhere; }
.craftmarket-sidebar .widget li:last-child { border-bottom: 0; }
.craftmarket-sidebar .widget li ul { margin-top: 7px; padding-inline-start: 14px; border-top: 1px solid var(--border-default); }
.craftmarket-sidebar .widget select { width: 100%; max-width: 100%; min-height: 42px; padding: 8px 10px; border: 1px solid var(--border-strong); border-radius: var(--btn-radius); background: var(--bg-input); }
.craftmarket-sidebar .widget img { height: auto; }
/* Links read as titles; the brand colour is for hover only. Commenter names stay quiet. */
.craftmarket-sidebar .widget a { color: var(--text-heading); transition: color .2s ease; }
.craftmarket-sidebar .widget a:hover { color: var(--color-primary); }
.craftmarket-sidebar .widget :is(.comment-author-link, .wp-block-latest-comments__comment-author) { color: var(--text-secondary); }
.craftmarket-sidebar .widget a:is(.wp-block-button__link, .button) { color: var(--color-primary-fg); }
.craftmarket-sidebar .widget table { width: 100%; }
.craftmarket-sidebar .widget_calendar th, .craftmarket-sidebar .widget_calendar td,
.craftmarket-sidebar .wp-block-calendar th, .craftmarket-sidebar .wp-block-calendar td { padding: 4px; text-align: center; }
.craftmarket-sidebar .tagcloud, .craftmarket-sidebar .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 6px; }
.craftmarket-sidebar .tagcloud a, .craftmarket-sidebar .wp-block-tag-cloud a { padding: 3px 10px; border: 1px solid var(--border-default); border-radius: var(--radius-pill); font-size: 13px !important; }
.wp-block-search__inside-wrapper { display: flex; gap: 6px; }
.wp-block-search__input, .search-form .search-field { min-width: 0; min-height: 42px; padding: 8px 12px; border: 1px solid var(--border-strong); border-radius: var(--btn-radius); background: var(--bg-input); }
.wp-block-search__button { min-height: 42px; margin: 0; padding: 8px 16px; border: 0; border-radius: var(--btn-radius); background: var(--color-primary); color: var(--color-primary-fg); cursor: pointer; }

/* Comments */
.craftmarket-comments { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--border-default); }
.craftmarket-comments__title { font-size: var(--fs-h3); }
.craftmarket-comments__list, .craftmarket-comments__list .children { margin: 0; padding: 0; list-style: none; }
.craftmarket-comments__list .children { padding-inline-start: 40px; }
.craftmarket-comment .comment-body { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--border-default); }
.craftmarket-comment--ping .comment-body { grid-template-columns: minmax(0, 1fr); padding: 12px 0; }
.craftmarket-comment__avatar img { border-radius: 50%; }
.craftmarket-comment__main { min-width: 0; }
.craftmarket-comment__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-bottom: 6px; }
.craftmarket-comment__head .comment-author { color: var(--text-heading); font-weight: 600; overflow-wrap: anywhere; }
.craftmarket-comment__date { color: var(--text-muted); font-size: 13px; }
.craftmarket-comment__pending { color: var(--color-warning); font-size: 14px; }
.craftmarket-comment__text { font-size: 15px; }
.craftmarket-comment__text table { display: block; max-width: 100%; overflow-x: auto; }
.craftmarket-comment__actions { display: flex; gap: 16px; margin-top: 8px; font-size: 13px; font-weight: 600; }
.bypostauthor > .comment-body { position: relative; }
.bypostauthor > .comment-body .craftmarket-comment__avatar img { box-shadow: 0 0 0 2px var(--color-primary); }
.craftmarket-comments__form, .comment-respond { margin-top: 32px; }
.comment-form { display: grid; gap: 14px; }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-bottom: 6px; color: var(--text-heading); font-size: 14px; font-weight: 600; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--border-strong);
  border-radius: var(--input-radius);
  background: var(--bg-input);
}
.comment-form .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.comment-form .comment-form-cookies-consent label { margin: 0; font-weight: 400; }
/* Name and email side by side from tablet up (same as the product review form). */
@media (min-width: 768px) {
  .comment-form { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .comment-form > * { grid-column: 1 / -1; }
  .comment-form > :is(.comment-form-author, .comment-form-email) { grid-column: auto; }
}
.comment-reply-title small { margin-inline-start: 10px; font-size: 14px; }
.craftmarket-comments__closed { color: var(--text-secondary); }

/* 404: message on the left, a large "404" on a soft disc on the right, then a row of best sellers */
.craftmarket-notfound { display: grid; justify-items: center; gap: 32px; padding-block: clamp(48px, 7vw, 96px) 0; text-align: center; }
.craftmarket-notfound__main { display: grid; justify-items: center; gap: 16px; max-width: 620px; }
.craftmarket-notfound__kicker { margin: 0; }
.craftmarket-notfound__title { margin: 0; font-size: var(--fs-h1); line-height: 1.1; }
.craftmarket-notfound__text { margin: 0; color: var(--text-secondary); font-size: 17px; line-height: 1.65; }
.craftmarket-notfound__search { width: 100%; max-width: 480px; margin-top: 8px; }
.craftmarket-notfound__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.craftmarket-notfound__links { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 18px; margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--border-default); color: var(--text-secondary); font-size: 14px; }
.craftmarket-notfound__links a { color: var(--text-heading); font-weight: 600; text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 4px; }
.craftmarket-notfound__links a:hover { color: var(--color-primary); text-decoration-color: currentColor; }
.craftmarket-notfound__code { order: -1; display: grid; place-items: center; width: min(100%, 200px); aspect-ratio: 1; margin: 0; border-radius: 50%; background: var(--bg-section); color: var(--color-primary); font-family: var(--font-heading); font-size: clamp(4rem, 18vw, 5.5rem); font-weight: var(--heading-weight); line-height: 1; letter-spacing: -.03em; }
.craftmarket-notfound__code span { transform: translateY(-.04em); } /* optical centre of the digits */
@media (min-width: 961px) {
  .craftmarket-notfound { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(48px, 6vw, 96px); text-align: start; }
  .craftmarket-notfound__main { justify-items: start; }
  .craftmarket-notfound__actions,
  .craftmarket-notfound__links { justify-content: flex-start; }
  .craftmarket-notfound__links { width: 100%; }
  .craftmarket-notfound__code { order: 0; justify-self: end; width: min(100%, 480px); font-size: clamp(9rem, 15vw, 14rem); }
  :root[data-skin="trade"] .craftmarket-notfound__code { font-size: clamp(7.5rem, 12vw, 11rem); } /* wide bold sans: keep the digits inside the disc */
}
.craftmarket-notfound__popular { padding-top: clamp(64px, 8vw, 112px); }
.craftmarket-notfound__popular-title { margin: 0 0 24px; font-size: var(--fs-h2); }

@media (max-width: 1023px) {
  .craftmarket-blog.has-sidebar, .craftmarket-single__layout.has-sidebar { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .craftmarket-comments__list .children { padding-inline-start: 16px; }
  .craftmarket-comment .comment-body { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
  .craftmarket-comment__avatar img { width: 36px; height: 36px; }
  .craftmarket-comment__avatar .craftmarket-avatar { --avatar-size: 36px; }
  .craftmarket-postnav .nav-links { grid-template-columns: minmax(0, 1fr); }
  .craftmarket-postnav .nav-next { grid-column: auto; }
}

@media (max-width: 600px) {
  .craftmarket-post-card__body { padding: 20px; }
  .craftmarket-post-card__title { font-size: 20px; }
  .craftmarket-post-meta { font-size: 12px; gap: 4px 8px; }
  .craftmarket-post-meta > :not(:last-child)::after { margin-inline-start: 8px; }
}
