/*
 * Only the rules theme.json cannot express. Everything else — colour, type, spacing, radius,
 * shadow — is declared in theme.json so it stays editable in the Site Editor.
 */

/* Sticky translucent header. theme.json has no position/backdrop-filter support. */
.sesar-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(250, 249, 247, 0.86);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Card hover lift. Design: translateY(-2px) + one shadow step, 220ms. Whole-card links only. */
.sesar-card {
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
.sesar-card:has(a:hover),
.sesar-card:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(28, 26, 23, 0.09);
}

/* Buttons press 1px down and never scale. */
.wp-element-button:active,
.wp-block-button__link:active { transform: translateY(1px); }
.wp-element-button,
.wp-block-button__link { transition: background-color 140ms cubic-bezier(0.16, 1, 0.3, 1), transform 140ms; }

/* Outline button: the design's secondary action. */
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  border: 1px solid var(--wp--preset--color--line-default);
  color: var(--wp--preset--color--contrast);
  box-shadow: none;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: var(--wp--preset--color--line-subtle);
}
/* On dark bands the outline flips to light. */
.has-contrast-background-color .wp-block-button.is-style-outline > .wp-block-button__link {
  border-color: rgba(255, 255, 255, 0.28);
  color: var(--wp--preset--color--base);
}
.has-contrast-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: rgba(255, 255, 255, 0.08);
}

/* FAQ accordion: plus/minus affordance, since core/details ships a disclosure triangle. */
.sesar-faq-item { list-style: none; }
.sesar-faq-item > summary {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.35;
  color: var(--wp--preset--color--contrast);
  list-style: none;
}
.sesar-faq-item > summary::-webkit-details-marker { display: none; }
.sesar-faq-item > summary::after {
  content: "+";
  font-size: 20px;
  font-weight: 400;
  color: var(--wp--preset--color--text-muted);
  line-height: 1;
  flex: 0 0 auto;
}
.sesar-faq-item[open] > summary::after { content: "−"; }

/* Focus: orange border plus a 3px 35%-alpha ring. Never removed without replacement. */
:where(a, button, summary, input, textarea, select):focus-visible {
  outline: 2px solid var(--wp--preset--color--brand);
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.35);
  border-radius: 4px;
}

/* Tabular figures on display numerals, per the design system. */
.has-mono-font-family { font-variant-numeric: tabular-nums; }

/* Links underline at 3px offset on hover. */
.wp-block-post-content a:hover { text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .sesar-card, .wp-element-button, .wp-block-button__link { transition: none; }
  .sesar-card:has(a:hover) { transform: none; }
}
