/* Shared components. Tokens live in design-system.css. */
:is(input[type="button"], input[type="submit"], input[type="reset"], .ast-button, .ast-custom-button, .wp-element-button, .wp-block-button .wp-block-button__link, .sc-button) {
  background: var(--sc-brand); color: var(--sc-surface); border: 1px solid transparent;
  border-radius: var(--sc-radius-button); padding: var(--sc-button-padding); min-height: 44px;
  font: 600 var(--sc-body)/1.4 var(--sc-font); text-decoration: none; white-space: normal; cursor: pointer;
}
:is(input[type="submit"], input[type="button"], .ast-button, .ast-custom-button, .wp-element-button, .wp-block-button .wp-block-button__link, .sc-button):hover {
  background: var(--sc-brand-dark); color: var(--sc-surface);
}
.wp-block-button:is(.is-style-outline, .is-style-serene-secondary) .wp-block-button__link, .sc-button--secondary {
  background: transparent; color: var(--sc-brand); border: 1px solid var(--sc-brand);
}
.wp-block-button:is(.is-style-outline, .is-style-serene-secondary) .wp-block-button__link:hover, .sc-button--secondary:hover {
  background: var(--sc-sage); color: var(--sc-brand-dark);
}
:where(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], input[type="password"], textarea, select) {
  font: inherit; color: var(--sc-ink); background-color: var(--sc-surface);
  border: 1px solid var(--sc-border); border-radius: var(--sc-radius-sm); min-height: 44px; max-width: 100%;
}
.sc-section { padding-block: var(--sc-space-section); }
.sc-container { width: min(100%, var(--sc-wide)); margin-inline: auto; padding-inline: var(--sc-gutter); box-sizing: border-box; }
.sc-prose { max-width: var(--sc-content); margin-inline: auto; }
.sc-lead { font-size: var(--sc-lead); color: var(--sc-muted); }
.sc-card, .is-style-serene-card {
  padding: var(--sc-space-xl); background: var(--sc-surface); border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius-card); box-shadow: var(--sc-shadow-card);
}
.sc-section--sage { background: var(--sc-sage); }
.sc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sc-space-xl); }
@media (max-width: 921px) { .sc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  .sc-grid { grid-template-columns: minmax(0, 1fr); }
  .sc-card, .is-style-serene-card { padding: var(--sc-space-lg); }
  .wp-block-buttons { gap: var(--sc-space-sm); }
}

.sc-section--warm { background: var(--sc-warm); }
.sc-rating { color: var(--sc-rating); }
:is(.sc-button, .wp-block-button__link, .ast-custom-button):disabled,
:is(.sc-button, .wp-block-button__link, .ast-custom-button)[aria-disabled="true"] {
  opacity: .6; cursor: not-allowed;
}
