/* Minimal CSS layer: keep it small; rely on theme.json for most styling. */

:root {
  color-scheme: light;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* Full width Gutenberg */
.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}


.alignwide {
    width: min(
        calc(100% - 2rem),
        var(--wp--style--global--wide-size)
    );
    margin-inline: auto;
}



/* Generic content shell (header/footer are split into dedicated files). */
.site-main {
  padding-left: var(--wp--preset--spacing--6);
  padding-right: var(--wp--preset--spacing--6);
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
  margin-block-start: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.entry {
  padding-top: var(--wp--preset--spacing--10);
  padding-bottom: var(--wp--preset--spacing--10);
}

.entry:first-child {
  padding-top: 0;
  padding-bottom: 0
}

.entry-title {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--4);
  font-family: var(--wp--preset--font-family--serif);
}

/* Comments (minimal, token-driven) */
.comments-area {
  padding-top: var(--wp--preset--spacing--10);
}

.wp-block-comments {
  padding-top: var(--wp--preset--spacing--10);
}

.comments-title,
.comment-reply-title,
.wp-block-comments-title {
  margin-top: 0;
  margin-bottom: var(--wp--preset--spacing--6);
  font-family: var(--wp--preset--font-family--serif);
}

.comment-list {
  margin: 0;
  padding-left: var(--wp--preset--spacing--6);
}

.wp-block-comment-template {
  margin: 0;
  padding-left: var(--wp--preset--spacing--6);
}

.comment-list .comment-body {
  padding: var(--wp--preset--spacing--6);
  border: 1px solid var(--wp--preset--color--neutral);
  border-radius: 10px;
  margin-bottom: var(--wp--preset--spacing--6);
  background: var(--wp--preset--color--base);
}

.wp-block-comment-template .comment-body {
  padding: var(--wp--preset--spacing--6);
  border: 1px solid var(--wp--preset--color--neutral);
  border-radius: 10px;
  margin-bottom: var(--wp--preset--spacing--6);
  background: var(--wp--preset--color--base);
}

.comment-list .comment-meta {
  font-size: var(--wp--preset--font-size--xs);
  opacity: 0.8;
  margin-bottom: var(--wp--preset--spacing--2);
}

.wp-block-comment-template .comment-meta,
.wp-block-comment-date,
.wp-block-comment-edit-link {
  font-size: var(--wp--preset--font-size--xs);
  opacity: 0.8;
}

.comment-form {
  display: grid;
  gap: var(--wp--preset--spacing--6);
  margin-top: var(--wp--preset--spacing--10);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: var(--wp--preset--spacing--4);
  border: 1px solid var(--wp--preset--color--neutral);
  border-radius: 10px;
  background: var(--wp--preset--color--base);
}

.comment-form .submit {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--6);
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--base);
  font-weight: 600;
  cursor: pointer;
}

.comment-form .submit:hover {
  background: var(--wp--preset--color--accent);
}

.wp-block-post-comments-form {
  margin-top: var(--wp--preset--spacing--10);
}

/* Consistent focus ring */
:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary);
  outline-offset: 2px;
}

/* Animation primitives driven by data-anim + a single JS observer. */
[data-anim] {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition: opacity 450ms ease, transform 450ms ease;
  will-change: opacity, transform;
}

[data-anim="fade"] {
  transform: none;
}

[data-anim="fade-down"] {
  transform: translate3d(0, -10px, 0);
}

[data-anim="scale-in"] {
  transform: scale(0.985);
  transform-origin: center center;
}

[data-anim="reveal-left"] {
  transform: translate3d(-10px, 0, 0);
}

[data-anim="reveal-right"] {
  transform: translate3d(10px, 0, 0);
}

[data-anim].is-in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-anim] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
