/* ==========================================================================
   Seiva - native Gutenberg block support

   Lets the homepage be built from core blocks (group / heading / paragraph /
   buttons / cover / table / details) while keeping the original design.
   Loaded after seiva-icons.css on the front end and in the editor.
   ========================================================================== */

/* Layout resets ---------------------------------------------------------
   Core adds .is-layout-flow, which puts margin-block-start on every child.
   Inside a grid or flex container that fights the gap, so clear it.
   ---------------------------------------------------------------------- */

.seiva-grid.is-layout-flow > *,
.seiva-grid.is-layout-constrained > *,
.seiva-hero__inner.is-layout-flow > *,
.seiva-trustbar.is-layout-flow > *,
.seiva-trust.is-layout-flow > *,
.seiva-herostats.is-layout-flow > *,
.seiva-quote__stars.is-layout-flow > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/* Group blocks carrying our section classes must not be width-constrained. */
.seiva-hero > .wp-block-group__inner-container,
.seiva-section > .wp-block-group__inner-container {
  max-width: none;
}

.seiva-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: none;
}

/* Hero -------------------------------------------------------------------- */

figure.seiva-hero__media {
  margin: 0;
}
figure.seiva-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Section furniture as heading/paragraph blocks --------------------------- */

p.seiva-eyebrow,
p.seiva-lead,
h1.seiva-hero__title,
h2.seiva-title,
h2.seiva-cta__title,
p.seiva-hero__lead,
p.seiva-cta__text {
  margin-block-start: 0;
}

/* Buttons ----------------------------------------------------------------
   Core puts our className on the .wp-block-button wrapper, not the <a>,
   so variants must reach through to the link element.
   ---------------------------------------------------------------------- */

.wp-block-button.is-gold > .wp-block-button__link {
  background-color: var(--wp--preset--color--gold);
  color: #fff;
}
.wp-block-button.is-gold > .wp-block-button__link:hover {
  background-color: #8a5406;
  color: #fff;
  box-shadow: var(--seiva-shadow-lifted);
}

.wp-block-button.is-ghost > .wp-block-button__link {
  background-color: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.wp-block-button.is-ghost > .wp-block-button__link:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.6);
  color: #fff;
}

.wp-block-button.is-outline-navy > .wp-block-button__link {
  background-color: transparent;
  color: var(--wp--preset--color--navy);
  border: 1px solid var(--wp--preset--color--line);
}
.wp-block-button.is-outline-navy > .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--surface-alt);
  border-color: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--navy);
}

.wp-block-buttons.seiva-hero__cta,
.wp-block-buttons.seiva-cta__actions {
  gap: 0.85rem;
}

/* Category tiles on core/cover -------------------------------------------- */

.wp-block-cover.seiva-tile {
  border-radius: var(--seiva-radius);
  overflow: hidden;
  box-shadow: var(--seiva-shadow-soft);
  min-height: 300px;
  padding: 1.5rem;
}
.wp-block-cover.seiva-tile .wp-block-cover__image-background {
  transition: transform var(--seiva-dur-slow) var(--seiva-ease-out);
}
@media (hover: hover) {
  .wp-block-cover.seiva-tile:hover .wp-block-cover__image-background {
    transform: scale(1.05);
  }
}
.wp-block-cover.seiva-tile h3 {
  margin: 0 0 0.2rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
}
.wp-block-cover.seiva-tile h3 a {
  color: #fff;
  text-decoration: none;
}
.wp-block-cover.seiva-tile h3 a:hover {
  color: var(--wp--preset--color--gold-soft);
}
.wp-block-cover.seiva-tile p {
  margin: 0;
  font-size: 0.875rem;
  color: #cbd5e1;
}

/* Steps ------------------------------------------------------------------- */

.seiva-step p.seiva-step__num {
  position: absolute;
  left: 0;
  top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  border-radius: 50%;
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--gold-soft);
  font-family: var(--wp--preset--font-family--rubik);
  font-weight: 700;
  font-size: 1.05rem;
}

/* Testimonials ------------------------------------------------------------ */

.seiva-quote p.seiva-quote__text {
  margin: 0 0 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--wp--preset--color--ink);
}
.seiva-quote__author {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.seiva-quote__author p {
  margin: 0;
}
.seiva-quote p.seiva-quote__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  background: var(--wp--preset--color--navy);
  color: var(--wp--preset--color--gold-soft);
  font-family: var(--wp--preset--font-family--rubik);
  font-weight: 700;
  font-size: 0.9375rem;
}
.seiva-quote p.seiva-quote__name {
  font-family: var(--wp--preset--font-family--rubik);
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--wp--preset--color--navy);
}
.seiva-quote p.seiva-quote__meta {
  font-size: 0.8125rem;
  color: var(--wp--preset--color--ink-muted);
}

/* Comparison table -------------------------------------------------------- */

.seiva-table-block {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--seiva-radius);
  overflow: hidden;
  background: #fff;
}
.seiva-table-block table {
  width: 100%;
  margin: 0;
}

/* FAQ (core/details) ------------------------------------------------------ */

details.seiva-faq {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--seiva-radius);
  background: #fff;
  overflow: hidden;
  margin-block: 0 0.75rem;
  padding: 0;
}
