/* ==========================================================================
   CORE WORDPRESS BLOCKS
   ==========================================================================

   This file was missing from v1.0.0 and that was the bug.

   The prototype pages used this theme's own component classes, so nothing
   here was needed. Real page content — including everything migrated from the
   old site — is made of CORE Gutenberg blocks: columns, media-text, images,
   groups, lists, tables, buttons. Those were previously styled by the old
   theme's stylesheet. When the theme changed, that styling went with it, and
   the content collapsed together with no spacing.

   Everything below is themed (light and dark) and uses the same tokens as the
   rest of the system.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. VERTICAL RHYTHM
   The single most important rule here. Without it, every block sits flush
   against the next one — which is exactly the "all squashed together" symptom.
   -------------------------------------------------------------------------- */
.entry-content > * + *,
.wp-block-group > * + *,
.wp-block-column > * + *{
  margin-block-start:var(--s-5);
}

.entry-content > .wp-block-heading,
.wp-block-column > .wp-block-heading{
  margin-block-start:var(--s-8);
}
.entry-content > .wp-block-heading:first-child{margin-block-start:0}
.entry-content > h3.wp-block-heading,
.entry-content > h4.wp-block-heading{margin-block-start:var(--s-6)}

.entry-content p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   2. COLUMNS
   -------------------------------------------------------------------------- */
.wp-block-columns{
  display:flex;flex-wrap:wrap;align-items:flex-start;
  gap:var(--s-6);margin-block:var(--s-6);
}
.wp-block-columns.are-vertically-aligned-center{align-items:center}
.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}
.wp-block-column{flex:1 1 0%;min-width:0}
.wp-block-column > *:first-child{margin-block-start:0}

@media(max-width:781px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){flex-direction:column;gap:var(--s-5)}
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100%!important}
}

/* --------------------------------------------------------------------------
   3. MEDIA & TEXT
   -------------------------------------------------------------------------- */
.wp-block-media-text{
  display:grid;grid-template-columns:50% 1fr;align-items:center;
  gap:var(--s-7);margin-block:var(--s-7);
}
.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}
.wp-block-media-text .wp-block-media-text__media{grid-column:1;margin:0}
.wp-block-media-text .wp-block-media-text__content{grid-column:2;padding:0}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{grid-column:2}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1}
.wp-block-media-text img{width:100%;height:auto;border-radius:var(--r-md)}
@media(max-width:781px){
  .wp-block-media-text,
  .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr;gap:var(--s-5)}
  .wp-block-media-text .wp-block-media-text__media,
  .wp-block-media-text .wp-block-media-text__content,
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media,
  .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{grid-column:1}
}

/* --------------------------------------------------------------------------
   4. IMAGES & GALLERIES
   -------------------------------------------------------------------------- */
.wp-block-image{margin-block:var(--s-6)}
.wp-block-image img{height:auto;border-radius:var(--r-md)}
.wp-block-image.is-style-rounded img{border-radius:50%}
.wp-block-image figcaption,
.wp-block-embed figcaption,
.wp-block-gallery figcaption{
  font-size:var(--t-small);color:var(--text-mute);
  margin-top:var(--s-3);text-align:center;
}
.wp-block-image.alignleft{float:left;margin:0 var(--s-6) var(--s-5) 0;max-width:min(50%,420px)}
.wp-block-image.alignright{float:right;margin:0 0 var(--s-5) var(--s-6);max-width:min(50%,420px)}
.wp-block-image.aligncenter{margin-inline:auto;text-align:center}
.wp-block-gallery{margin-block:var(--s-6)}
.wp-block-gallery.has-nested-images figure.wp-block-image img{border-radius:var(--r-sm)}

/* --------------------------------------------------------------------------
   5. GROUPS, COVERS, ALIGNMENT
   -------------------------------------------------------------------------- */
.wp-block-group.has-background{
  padding:var(--s-7);border-radius:var(--r-lg);
}
.wp-block-cover{
  margin-block:var(--s-7);border-radius:var(--r-lg);overflow:hidden;
  padding:var(--s-9) var(--s-7);
}
.wp-block-cover .wp-block-cover__inner-container > *{color:#fff}

/* alignwide / alignfull inside a constrained container */
.entry-content > .alignwide{
  max-width:var(--page);
  margin-inline:auto;
  width:auto;
}
.entry-content > .alignfull{
  max-width:none;
  width:auto;
  margin-inline:calc(50% - 50vw);
  padding-inline:var(--gutter);
}

/* --------------------------------------------------------------------------
   6. LISTS, QUOTES, TABLES
   -------------------------------------------------------------------------- */
.entry-content ul,
.entry-content ol{margin-block:var(--s-4);padding-inline-start:24px}
.entry-content li{margin-block:6px}
.entry-content li > ul,
.entry-content li > ol{margin-block:6px}

.wp-block-quote,
.entry-content blockquote{
  margin-block:var(--s-6);padding:var(--s-5) var(--s-6);
  background:var(--shell);border-left:3px solid var(--brand-red);
  border-radius:0 var(--r-md) var(--r-md) 0;
  font-size:17px;color:var(--text);
}
.wp-block-quote cite{
  display:block;margin-top:var(--s-3);font-size:var(--t-small);
  font-style:normal;color:var(--text-mute);
}
.wp-block-pullquote{
  margin-block:var(--s-8);padding:var(--s-7) 0;text-align:center;
  border-block:2px solid var(--line);
}

.wp-block-table{margin-block:var(--s-6);overflow-x:auto}
.wp-block-table table{width:100%;border-collapse:collapse}
.wp-block-table th,
.wp-block-table td{
  padding:var(--s-4) var(--s-3);text-align:left;
  border-bottom:1px solid var(--line-soft);font-size:14.5px;vertical-align:top;
}
.wp-block-table th{
  font-family:var(--font-head);font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-mute);font-weight:700;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:var(--shell-3)}

.wp-block-separator{
  border:0;border-top:1px solid var(--line);
  margin-block:var(--s-8);opacity:1;
}
.wp-block-separator.is-style-wide{max-width:none}

/* --------------------------------------------------------------------------
   7. BUTTONS
   Core button blocks inherit the pill treatment from the rest of the system.
   -------------------------------------------------------------------------- */
.wp-block-buttons{
  display:flex;flex-wrap:wrap;gap:12px;margin-block:var(--s-6);
}
.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--btn-bg);color:var(--btn-fg);
  border-radius:var(--r-pill);padding:14px 26px;
  font-family:var(--font-body);font-size:13.5px;font-weight:700;
  text-decoration:none;box-shadow:var(--e-1);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:var(--e-2);color:var(--btn-fg)}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent;color:var(--text);border:1.5px solid var(--text);box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--text);color:var(--paper)}

/* --------------------------------------------------------------------------
   8. EMBEDS
   -------------------------------------------------------------------------- */
.wp-block-embed{margin-block:var(--s-6)}
.wp-block-embed__wrapper{position:relative}
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before{
  content:"";display:block;padding-top:56.25%;
}
.wp-block-embed.wp-embed-aspect-16-9 iframe{
  position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:var(--r-md);
}

/* --------------------------------------------------------------------------
   9. DETAILS / ACCORDIONS
   Old FAQ sections often use the core Details block.
   -------------------------------------------------------------------------- */
.wp-block-details{
  border-bottom:1px solid var(--line-soft);padding-block:var(--s-4);
}
.wp-block-details summary{
  cursor:pointer;font-family:var(--font-head);font-size:15px;font-weight:700;
  text-transform:uppercase;letter-spacing:.03em;color:var(--text);
}
.wp-block-details[open] summary{margin-bottom:var(--s-3)}

/* --------------------------------------------------------------------------
   10. IMPORTED CONTENT SAFETY NET
   Migrated pages were authored against a different theme. These rules stop
   the most common leftovers from breaking the layout.
   -------------------------------------------------------------------------- */
.entry-content img{max-width:100%;height:auto}
.entry-content iframe{max-width:100%}
.entry-content table{max-width:100%}
/* Old inline widths that assumed a wider canvas. */
.entry-content [style*="width:"]{max-width:100%}
