/*
Theme Name: Bizmarks.Org
Text Domain: cdt-templates
Description: Directory theme. The design lives in assets/css/bizmarks.css (enqueued before this file); only WordPress-specific additions live here.
*/

/* Pagination (paginate_links type=list) */
.pagination { margin-top: 48px; display: flex; justify-content: center; }
.pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 16px; border-radius: 999px; font-size: 14px; font-weight: 500; box-shadow: inset 0 0 0 1px var(--line); transition: background .3s, color .3s; }
.pagination a.page-numbers:hover { box-shadow: inset 0 0 0 1px var(--ink); }
.pagination .page-numbers.current { background: var(--ink); color: var(--paper); box-shadow: none; }
.pagination .page-numbers.dots { box-shadow: none; }

/* Listing card: featured badge sits under the rating chip */
.l-card__featured { position: absolute; left: 12px; bottom: 12px; }

/* Contact form feedback */
.form-note { margin: 0 0 20px; padding: 14px 18px; border-radius: 16px; font-size: 15px; line-height: 1.5; }
.form-note--ok { background: var(--lime); color: var(--ink); }
.form-note--error { background: #fde8e8; color: #7a1d1d; }

/* Sort dropdown wrapper used as a <form> */
form.select-pill { margin: 0; }

/* Comments (blog) */
.comment-list .comment-body { padding: 20px 0; border-bottom: 1px solid var(--line); }
.comment-list .avatar { border-radius: 50%; margin-right: 12px; vertical-align: middle; }
.comment-form label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: 14px 18px; border-radius: 16px; border: 1px solid var(--line); background: var(--paper); font: inherit; }
.comment-form .submit { margin-top: 12px; padding: 14px 28px; border: 0; border-radius: 999px; background: var(--lime); color: var(--ink); font-weight: 600; cursor: pointer; }

/* Listing image placeholder: business-name initials when the listing has no image (or it fails to load) */
.ph-initials { display: none; }
.is-empty > .ph-initials { position: absolute; inset: 0; display: grid; place-items: center; background: var(--lime); color: var(--ink); font-family: var(--font); font-weight: 700; letter-spacing: .02em; line-height: 1; font-size: clamp(2.2rem, 7vw, 4.5rem); }
.lst-logo.is-empty { position: relative; overflow: hidden; }
.lst-logo.is-empty > .ph-initials { font-size: 2.6rem; }

/* Card surface → listing page; business name → company website (design .l-card__title a::after would steal the whole card) */
.l-card__hit { position: absolute; inset: 0; z-index: 1; }
.l-card__title { position: relative; z-index: 2; }
.l-card__title a::after { content: none; }
.l-card__title a, a.cs-row__name, .cs-row__info .h3 a { color: inherit; text-decoration: none; }
.cs-row__head { cursor: pointer; }

.info-grid svg { width: 40px; height: 40px; flex: none; }
.panel .h3 a { color: inherit; }
.panel p a { text-decoration: underline; text-underline-offset: 2px; }
.page-hero__title a { color: inherit; text-decoration: none; display: block; }

/* Highlight / attribute chips: keep the icon small so it does not inflate the badge (design stacks a 40px img above the label). */
.feat-grid > div {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
}
.feat-grid img,
.feat-grid svg {
  width: 22px;
  height: 22px;
  max-width: 22px;
  max-height: 22px;
  flex: none;
  object-fit: contain;
}

/* Footer copyright: site name is a home link (design strips underlines from all <a>). */
.f-bottom a:not(.to-top) { text-decoration: underline; text-underline-offset: 3px; }
/* Giant wordmark letters animate from below and sit on top of this row — keep the row clickable. */
.f-word { display: block; overflow: hidden; }
.f-bottom { position: relative; z-index: 2; }

/* Legal / long pages: the design .article is a 760px blog column. Use the full container. */
.article--wide { max-width: none; }

/* WP adds class "search" to <body> on search results; the design uses .search for the form grid. */
body.search {
  display: block;
  grid-template-columns: none;
  gap: 0;
  padding: 0;
  border-radius: 0;
  background: var(--paper);
  box-shadow: none;
  align-items: stretch;
}
