/*
 * Block styles.
 *
 * Maps core blocks and the block styles registered in inc/blocks.php onto the
 * design system in theme.css. Values come from the same custom properties, so
 * a token change there reaches both hand-built and block-built pages.
 */

/* ============ page body ============ */
/* Top level blocks sit on the container measure; section bands break out. */
.page-blocks > *{ max-width:var(--wp--style--global--content-size, 1232px); margin-left:auto; margin-right:auto; }
.page-blocks > .alignfull,
.page-blocks > [class*="is-style-chairo-section"],
.page-blocks > [class*="wp-block-chairo-"]{ max-width:none; }
.page-blocks > :not(.alignfull):not([class*="is-style-chairo-section"]):not([class*="wp-block-chairo-"]){ padding-left:var(--sp-3); padding-right:var(--sp-3); box-sizing:content-box; }
.page-blocks > :first-child:not([class*="is-style-chairo-section"]):not([class*="wp-block-chairo-"]){ margin-top:68px; }
.page-blocks > :last-child:not([class*="is-style-chairo-section"]):not([class*="wp-block-chairo-"]){ margin-bottom:68px; }

/* ============ group: section bands ============ */
.wp-block-group.is-style-chairo-section,
.wp-block-group.is-style-chairo-section-alt,
.wp-block-group.is-style-chairo-section-dark{
  padding:68px var(--sp-3);
  margin-top:0; margin-bottom:0;
}
.wp-block-group.is-style-chairo-section-alt{ background:var(--paper-2); }
.wp-block-group.is-style-chairo-section-dark{ background:var(--navy); color:var(--paper); }
.is-style-chairo-section-dark h1,
.is-style-chairo-section-dark h2,
.is-style-chairo-section-dark h3{ color:var(--white); }
.is-style-chairo-section-dark p{ color:var(--stone); }
.is-style-chairo-section-dark .is-style-chairo-eyebrow{ color:var(--stone); }

.wp-block-group.is-style-chairo-card{ background:var(--white); border-top:2px solid var(--signal); padding:26px; }

/* ============ typography ============ */
.is-style-chairo-eyebrow{
  font-family:var(--font-body);
  font-size:0.72rem;
  font-weight:500;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--signal-2);
  margin-bottom:12px;
}
.is-style-chairo-lead{ font-size:var(--fs-lg); color:var(--ink); }
.is-style-chairo-display{ font-size:var(--fs-display); }

.wp-block-list{ list-style:disc; padding-left:1.2em; margin-bottom:var(--sp-2); }
ol.wp-block-list{ list-style:decimal; }
.wp-block-list li{ margin-bottom:6px; color:var(--graphite); }

.wp-block-quote{ border-left:2px solid var(--signal); padding-left:20px; margin:26px 0; }
.wp-block-quote.is-style-chairo-pull-quote{ border:0; padding:0; font-family:var(--font-display); font-size:1.3rem; line-height:1.42; }

.wp-block-separator{ height:1px; background:var(--line); border:none; margin:34px 0; opacity:1; }

/* ============ columns: split ============ */
.wp-block-columns.is-style-chairo-split{ gap:44px; }
.wp-block-columns.is-style-chairo-split:not([class*="are-vertically-aligned-"]){ align-items:center; }
@media(max-width:860px){ .wp-block-columns.is-style-chairo-split{ gap:var(--sp-4); } }

/* ============ buttons ============ */
.wp-block-button__link{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body); font-size:0.85rem; font-weight:500;
  padding:11px 19px; border-radius:var(--radius-pill);
  border:1px solid transparent; text-decoration:none;
  background:var(--signal); color:var(--white);
  transition:transform .2s var(--ease), background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.wp-block-button__link:hover{ background:var(--signal-3); color:var(--white); transform:translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link{ border-color:var(--signal-2); color:var(--signal-2); background:transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover{ background:var(--signal-2); color:var(--white); }
.wp-block-button.is-style-chairo-ghost-light .wp-block-button__link{ border-color:var(--line-dark); color:var(--white); background:transparent; }
.wp-block-button.is-style-chairo-ghost-light .wp-block-button__link:hover{ background:var(--white); color:var(--ink); }
.wp-block-button.is-style-chairo-text .wp-block-button__link{ background:none; border:0; padding:0; color:var(--signal-2); text-decoration:underline; text-underline-offset:4px; }
.wp-block-button.is-style-chairo-text .wp-block-button__link::after{ content:"→"; margin-left:6px; }

/* ============ images ============ */
.wp-block-image img{ border-radius:var(--radius-lg); }

/* Framed photograph: the design's media frame, corner marks included. */
.wp-block-image.is-style-chairo-framed{ position:relative; border:1px solid var(--line); background:var(--navy); aspect-ratio:4/3; overflow:hidden; margin:0; }
.wp-block-image.is-style-chairo-framed img{ width:100%; height:100%; object-fit:cover; border-radius:0; }
.wp-block-image.is-style-chairo-framed::before,
.wp-block-image.is-style-chairo-framed::after{ content:""; position:absolute; width:18px; height:18px; border:1.5px solid var(--white); opacity:0.85; pointer-events:none; }
.wp-block-image.is-style-chairo-framed::before{ top:12px; left:12px; border-right:none; border-bottom:none; }
.wp-block-image.is-style-chairo-framed::after{ bottom:12px; right:12px; border-left:none; border-top:none; }
