/**
 * debitco-block-styles.css
 *
 * Forced single-file CSS asset per CLAUDE.md mandate ("only file allowed; only if forced").
 * Reason: AH11 form polish — input padding / wider column / textarea / select normalization /
 * Send button alignment cannot be expressed via theme.json tokens or register_block_style alone.
 *
 * Scope: form polish on .debitco-contact-form only. Do NOT add unrelated rules here without
 * a doctrine-call review.
 */

/* Phase 43.AH12.8: smooth-scroll on in-page anchor links (#calendar / #message etc) */
html {
  scroll-behavior: smooth;
}

/* Phase 43.AH12.9: radio-chip group in .debitco-contact-form.
 * Replaces single-line textarea with click-not-type psychology. Chips render
 * as pill-style buttons; selected state shows accent border + bg shift. */
.debitco-contact-form .debitco-chip-group {
  border: 0;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
}
.debitco-contact-form .debitco-chip-group legend {
  width: 100%;
  margin-block-end: 12px;
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  color: var(--wp--custom--text--primary);
}
.debitco-contact-form .debitco-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid var(--wp--custom--border--default);
  border-radius: 9999px;
  background: var(--wp--custom--bg--canvas);
  color: var(--wp--custom--text--primary);
  font-size: var(--wp--preset--font-size--small);
  cursor: pointer;
  transition: border-color var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard),
              background-color var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
}
.debitco-contact-form .debitco-chip:hover {
  border-color: var(--wp--custom--accent--default);
}
.debitco-contact-form .debitco-chip input[type="radio"] {
  width: 14px;
  height: 14px;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  accent-color: var(--wp--custom--accent--default);
}
.debitco-contact-form .debitco-chip:has(input:checked) {
  border-color: var(--wp--custom--accent--default);
  background: var(--wp--custom--accent--subtle);
  color: var(--wp--custom--accent--default);
}
@media (max-width: 767.98px) {
  .debitco-contact-form .debitco-chip {
    padding: 6px 12px;
  }
}

/* Form container — wider column on desktop, full-width on mobile. */
.debitco-contact-form {
  max-width: 540px;
  margin-inline: auto;
}

/* Per-field row spacing — match theme.json forms--spacing--field-to-field. */
.debitco-contact-form > p {
  margin-block: var(--wp--preset--spacing--40, 24px) 0;
}
.debitco-contact-form > p:first-child {
  margin-block-start: 0;
}

/* Label typography — match theme.json :where(label) declaration. */
.debitco-contact-form label {
  display: block;
  margin-block-end: var(--wp--custom--component--input--label-gap, 6px);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 500;
  color: var(--wp--custom--text--primary);
}

/* Input / select / textarea — bigger padding + uniform appearance.
 * Overrides theme.json :where(input) default (padding-inline only) with full block+inline padding. */
.debitco-contact-form input[type="text"],
.debitco-contact-form input[type="email"],
.debitco-contact-form select,
.debitco-contact-form textarea {
  width: 100%;
  min-height: var(--wp--custom--component--input--height, 44px);
  padding: 12px 16px;
  border: 1px solid var(--wp--custom--border--default);
  border-radius: var(--wp--custom--radius--sm);
  background-color: var(--wp--custom--bg--canvas);
  color: var(--wp--custom--text--primary);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.4;
  transition: border-color var(--wp--custom--motion--duration--base) var(--wp--custom--motion--easing--standard);
  box-sizing: border-box;
}

.debitco-contact-form textarea {
  min-height: calc(var(--wp--custom--component--input--height, 44px) * 2.5);
  resize: vertical;
}

.debitco-contact-form select {
  /* Browser-default select arrow is fine; normalize padding-right for it. */
  padding-right: 32px;
  appearance: auto;
}

.debitco-contact-form input:focus,
.debitco-contact-form select:focus,
.debitco-contact-form textarea:focus {
  border-color: var(--wp--custom--accent--default);
  outline: none;
}

/* Send button — match site primary button accent-1 inverse style.
 * wp-element-button inherits theme.json button declaration; this ensures
 * button block layout (centered, comfortable hit-target) without overrides. */
.debitco-contact-form button[type="submit"].wp-element-button {
  display: inline-block;
  margin-block-start: var(--wp--preset--spacing--30, 16px);
  min-width: 140px;
}

/* Phase 43.AH14: Send button right-aligned with form-actions row.
 * Pairs the button to the form's right edge so it sits where the eye lands
 * after scanning the textarea — McKinsey form convention. */
.debitco-contact-form .debitco-form-actions {
  text-align: right;
}

/* Responsive — collapse padding at 768 and below. */
@media (max-width: 767.98px) {
  .debitco-contact-form {
    max-width: 100%;
  }
  .debitco-contact-form input[type="text"],
  .debitco-contact-form input[type="email"],
  .debitco-contact-form select,
  .debitco-contact-form textarea {
    padding: 10px 12px;
  }
}

/* Phase 43.AH12.1: pullquote testimonial polish.
 * WP core wp-block-pullquote renders figure>blockquote>p+cite. Default WP
 * styling is sparse; this block enforces serif italic large body + centered
 * max-width + accent border-left affordance for visual emphasis. */
.wp-block-pullquote {
  max-width: 720px;
  margin: 0 auto;
  padding: 24px 32px;
  text-align: center;
}
.wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
}
.wp-block-pullquote blockquote p {
  font-family: var(--wp--preset--font-family--heading);
  font-size: var(--wp--preset--font-size--large);
  font-weight: 400;
  font-style: italic;
  line-height: 1.4;
  color: var(--wp--custom--text--primary);
  margin: 0 0 16px;
}
.wp-block-pullquote blockquote cite {
  display: block;
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 400;
  font-style: normal;
  color: var(--wp--custom--text--secondary);
  letter-spacing: 0.02em;
}
/* Optional accent border-left variant for is-style-debitco-pullquote. */
.wp-block-pullquote.is-style-debitco-pullquote {
  border-left: 3px solid var(--wp--custom--accent--default);
  text-align: left;
  padding-left: 28px;
}
.wp-block-pullquote.is-style-debitco-pullquote blockquote p {
  text-align: left;
}
.wp-block-pullquote.is-style-debitco-pullquote blockquote cite {
  text-align: left;
}
@media (max-width: 767.98px) {
  .wp-block-pullquote {
    padding: 16px 20px;
  }
  .wp-block-pullquote blockquote p {
    font-size: var(--wp--preset--font-size--medium);
  }
}
