/* ==========================================================================
   BuildAngle — WordPress-only rules (the design itself is in style.css)
   ========================================================================== */

/* Admin bar: keep the compact header below it */
.admin-bar .site-header.is-stuck {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .site-header.is-stuck {
    top: 46px;
  }
}

/* Screen-reader text used by WordPress core output */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Editor content on normal pages and posts (page.php, single.php) */
.entry-content > * + * {
  margin-top: var(--space-20);
}

.entry-content :is(h2, h3, h4) {
  color: var(--color-white);
  font-weight: 600;
  line-height: var(--lh-snug);
}

.entry-content h2 {
  margin-top: var(--space-40);
  font-size: var(--fs-h3);
}

.entry-content h3 {
  margin-top: var(--space-32);
  font-size: var(--fs-h4);
}

.entry-content a {
  color: var(--color-accent);
  text-decoration: underline;
}

.entry-content :is(ul, ol) {
  padding-left: var(--space-20);
}

.entry-content ul {
  list-style: disc;
}

.entry-content ol {
  list-style: decimal;
}

.entry-content img,
.entry-content .wp-block-image img {
  height: auto;
  border-radius: var(--radius-16);
}

.entry-content blockquote {
  padding-left: var(--space-20);
  border-left: 2px solid var(--color-accent);
  color: var(--color-text-70);
}

.entry-content .alignwide,
.entry-content .alignfull {
  max-width: none;
}

.entry-content .aligncenter {
  margin-inline: auto;
}

.entry-content .wp-block-button__link {
  border-radius: var(--radius-12);
  background: var(--color-accent);
  color: var(--color-white);
  text-decoration: none;
}

/* Plugin forms (Contact Form 7 / WPForms) inside the design's form areas */
.buildangle-form-plugin :is(input, select, textarea) {
  width: 100%;
  min-height: 56px;
  font-size: var(--fs-body);
  padding: 0 var(--space-16);
  border: 1px solid transparent;
  border-radius: var(--radius-10);
  background: var(--color-fill-06);
  color: var(--color-white);
}

.buildangle-form-plugin textarea {
  height: 140px;
  min-height: 140px;
  padding-block: var(--space-16);
  resize: vertical;
}

.buildangle-form-plugin :is(input[type="submit"], button[type="submit"]) {
  height: 48px;
  min-height: 0;
  border-radius: var(--radius-14);
  background: var(--color-accent);
  font-weight: 600;
  cursor: pointer;
}

/* Plugin form layout = the design's form: fields 24px apart; email + phone side by side when wrapped
   in <div class="quote-form__row"> (see INSTALL-GUIDE.md), stacked in the narrow service/project card. */
.buildangle-form-plugin form {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.buildangle-form-plugin form > :is(p, div) {
  margin: 0;
}

.buildangle-form-plugin .quote-form__row > * {
  flex: 1 0 0;
  margin: 0;
}

.buildangle-form-plugin--card .quote-form__row {
  flex-direction: column;
}

@media (max-width: 809px) {
  .buildangle-form-plugin--contact .quote-form__row {
    flex-direction: column;
  }
}

/* Normal pages (page.php): editor content below the page hero */
.page-content__inner {
  max-width: calc(900px + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
  color: var(--color-text-50);
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-8);
  margin-top: var(--space-48);
}

.pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 40px;
  height: 40px;
  padding-inline: var(--space-12);
  border-radius: var(--radius-8);
  background: var(--color-panel-2);
}

.pagination .page-numbers.current {
  background: var(--color-accent);
}

/* Comments */
.comments {
  margin-top: var(--space-64);
}

.comments :is(input, textarea) {
  width: 100%;
  padding: var(--space-12) var(--space-16);
  border: 1px solid transparent;
  border-radius: var(--radius-10);
  background: var(--color-fill-06);
}

/* Blog contents list: H3 headings sit one step in */
.toc__link--sub {
  padding-left: var(--space-24);
}

/* Search form (no results, search widget) */
.search-form {
  display: flex;
  gap: var(--space-12);
  margin-top: var(--space-20);
}

.search-form .field {
  flex: 1;
}

.search-form .field__input {
  height: 100%;
  min-height: 48px;
  padding-inline: var(--space-16);
  border-radius: var(--radius-10);
  background: var(--color-fill-06);
}

/* WordPress content classes (editor alignment, captions, galleries) */
:is(.entry-content, .rich-text) .alignleft {
  float: left;
  margin: 0 var(--space-24) var(--space-16) 0;
}

:is(.entry-content, .rich-text) .alignright {
  float: right;
  margin: 0 0 var(--space-16) var(--space-24);
}

:is(.entry-content, .rich-text) .aligncenter {
  margin-inline: auto;
}

.wp-caption {
  max-width: 100%;
}

.wp-caption-text,
.gallery-caption,
.wp-element-caption {
  margin-top: var(--space-8);
  color: var(--color-text-50);
  font-size: var(--fs-small);
}
