/* WordPress block markup → Stuck design. css/site.css is the mockup's stylesheet, unchanged;
   this file only maps core blocks (buttons, images, lists, groups) onto the same look. */

/* WordPress' default spacing between blocks: our sections handle their own spacing */
.wp-site-blocks > *,
.wp-block-post-content > *,
:where(.is-layout-flow) > * { margin-block: 0; }
.wp-site-blocks { padding: 0; }
.stuck-main { display: block; }
.stuck-part-header, .stuck-part-footer { margin: 0; }
.wp-block-group p + p, .stuck-legal__text p + p { margin-top: 1em; }
/* :where() = no specificity, so the design's own heading/image margins (site.css) still apply (feedback 1 Nov) */
:where(.wp-block-image) { margin: 0; }
.wp-block-image img { height: auto; }
:where(.wp-block-heading) { margin: 0; }

/* buttons: block style "Stuck: …" = .stuck-button variants */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.wp-block-button[class*="is-style-stuck-"] .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.55em;
  min-height: 3rem; padding: 0.55em 1.35em 0.5em;
  border: var(--bw) solid var(--ink); border-radius: var(--rough);
  font-family: var(--font-display); font-size: var(--wp--preset--font-size--medium);
  line-height: 1.15; letter-spacing: var(--wp--custom--letter-spacing-display);
  text-transform: uppercase; text-decoration: none; text-align: center;
}
.wp-block-button.is-style-stuck-primary .wp-block-button__link { background: var(--orange); color: var(--ink); }
.wp-block-button.is-style-stuck-secondary .wp-block-button__link { background: transparent; color: var(--ink); }
.wp-block-button.is-style-stuck-secondary-light .wp-block-button__link { background: transparent; color: var(--cream); border-color: var(--cream); }
@media (prefers-reduced-motion: no-preference) {
  .wp-block-button[class*="is-style-stuck-"] .wp-block-button__link { transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.12s; }
}
.wp-block-button.is-style-stuck-primary .wp-block-button__link:hover,
.wp-block-button.is-style-stuck-secondary .wp-block-button__link:hover { transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--ink); }
.wp-block-button.is-style-stuck-secondary .wp-block-button__link:hover { background: var(--ink); color: var(--cream); }
.wp-block-button.is-style-stuck-secondary-light .wp-block-button__link:hover { background: var(--cream); color: var(--ink); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--orange); }
.is-dark .wp-block-button.is-style-stuck-secondary .wp-block-button__link,
.stuck-section--ink .wp-block-button.is-style-stuck-secondary .wp-block-button__link { color: var(--cream); border-color: var(--cream); }

/* lists written as list blocks (li has no class in WordPress) */
.wp-block-list.stuck-rules, .wp-block-list.stuck-steps, .wp-block-list.stuck-facts__list, .wp-block-list.stuck-djs__list { list-style: none; padding: 0; margin: 0; }
.stuck-rules > li {
  counter-increment: rule; position: relative; display: grid; grid-template-columns: 3.25rem 1fr; gap: 1rem;
  align-items: baseline; font-size: var(--wp--preset--font-size--medium); padding-bottom: 1rem; margin-bottom: 1.1rem;
  border-bottom: 2px solid rgb(242 239 226 / 0.35); break-inside: avoid;
}
@media (min-width: 64em) { .stuck-rules > li:nth-child(6) { break-before: column; } }
.stuck-rules > li::before {
  content: counter(rule); font-family: var(--font-display); font-size: clamp(2.25rem, 1.8rem + 2vw, 3.25rem);
  line-height: 1; color: var(--orange); text-align: right;
}
.stuck-steps > li {
  counter-increment: step; display: grid; grid-template-columns: 3rem 1fr; gap: 0.9rem;
  align-items: baseline; font-size: var(--wp--preset--font-size--medium);
}
.stuck-steps > li::before {
  content: counter(step); font-family: var(--font-display); font-size: clamp(2.25rem, 1.8rem + 2vw, 3.25rem);
  line-height: 1; text-align: right;
}
.stuck-steps--short > li { font-size: var(--wp--preset--font-size--large); }
.stuck-facts__list > li { display: flex; gap: 0.8rem; align-items: center; line-height: 1.35; }
.stuck-djs__list > li {
  font-family: var(--font-display); font-size: var(--wp--preset--font-size--large); letter-spacing: 0.04em; text-transform: uppercase;
}
.stuck-djs__list > li:nth-child(3n + 1) { font-size: var(--wp--preset--font-size--x-large); }
.stuck-djs__list > li:nth-child(4n + 2) { transform: rotate(-3deg); }
.stuck-djs__list > li:nth-child(5n) { transform: rotate(2deg); }
.stuck-djs__list > li:not(:last-child)::after { content: " ·"; color: var(--orange); }

/* club info rows built from groups instead of dl/dt/dd */
.stuck-info__row p { margin: 0; }
.stuck-info__value > * + * { margin-top: 0.5rem; }
.stuck-info__value .wp-block-buttons { margin-top: 0.75rem; }

/* team photo as an image block with caption */
.stuck-team__photo img {
  display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 55%;
  padding: clamp(0.75rem, 0.5rem + 1vw, 1.25rem); background: var(--orange); border-radius: 26px 10px 30px 12px;
}
.stuck-team__photo figcaption {
  display: inline-block; margin-top: 0.75rem; padding: 0.2rem 0.75rem; background: var(--cream);
  font-family: var(--font-display); font-size: var(--wp--preset--font-size--large); letter-spacing: 0.05em; text-transform: uppercase;
}

/* decorative image blocks: the class sits on <figure>, the image fills it */
.stuck-intro__icon img, .stuck-awareness__fist img, .stuck-about__doodle img, .stuck-pg__dance img,
.stuck-club__doodle img, .stuck-members__drawing img, .stuck-member__drawing img, .stuck-join__drawing img,
.stuck-djs__ball img { width: 100%; }
.stuck-intro__icon, .stuck-awareness__fist { flex: none; }

/* the hero is the first thing on the front page; WordPress' admin bar must not push it below the fold */
.admin-bar .stuck-hero { min-height: calc(100svh - 32px); }
