/*
 * Testimonials — Editorial Quote + Occasion Tag.
 *
 * Layout: full-width section, all content center-aligned.
 * No card, no border, no avatar, no star ratings.
 * Occasion label connects to Category Tiles taxonomy (Wedding / Birthday / etc.).
 *
 * Ordering: section → occasion → divider → quote → attribution (name → role)
 *   → responsive (tablet → mobile) → reduced motion.
 * No selector appears after a higher-specificity selector for the same property.
 *
 * Tokens read:
 *   color.terracotta.500          — occasion label
 *   semantic.color.border.base    — divider line
 *   semantic.color.text.primary   — quote, name
 *   semantic.color.text.muted     — role / occasion tag
 *   semantic.typography.display.* — quote (Cormorant Garamond, italic)
 *   semantic.typography.body.*    — name, role, occasion (Inter)
 *   semantic.typography.label.*   — occasion label font family
 *   space.1 / space.6 / space.7 / space.9 / space.10 / space.12 / space.14
 */

/* --- Section wrapper (is-style-wpdl-testimonial-editorial) ----------- */

.wp-block-group.is-style-wpdl-testimonial-editorial {
  text-align: center;

  /* Background (bg-surface) and vertical padding are both buyer-editable:
     background via style.color.background (Color panel); padding via
     spacingSizes presets (Dimensions panel). */
}

/* --- Ornament ✿ ---------------------------------------------------------- */

.wpdl-testimonial__ornament.wp-block-paragraph {
  font-size: 1.125rem;
  line-height: 1;
  color: var(--wp--custom--semantic--color--accent--primary);
  margin-block: 0 var(--wp--custom--space--3);
  letter-spacing: normal;
}

/* --- Occasion label -------------------------------------------------- */

.wpdl-testimonial__occasion.wp-block-paragraph {
  font-family: var(--wp--custom--semantic--typography--label--font-family);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--wp--custom--semantic--color--accent--primary);
  margin-block: 0 var(--wp--custom--space--5);
}

/* --- Vertical divider (is-style-wpdl-testimonial-divider) ------------ */

/* :not(.is-style-wide) raises specificity to (0,3,1) so this width wins over
   WP core's .wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}
   — otherwise the 1px vertical line renders as a 100px grey box. */
hr.wp-block-separator.is-style-wpdl-testimonial-divider:not(.is-style-wide) {
  border: none;
  width: 0.0625rem;       /* 1px expressed in rem — token-guard compliant */
  height: 2.5rem;         /* 40px */
  background-color: var(--wp--custom--semantic--color--border--base);
  opacity: 1;             /* override WP has-css-opacity default */
  margin: 0 auto var(--wp--custom--space--5);
}

/* --- Quote text ------------------------------------------------------ */

.wpdl-testimonial__quote.wp-block-paragraph {
  font-family: var(--wp--custom--semantic--typography--display--font-family);
  font-size: clamp(1.3125rem, 0.96rem + 1.43vw, 2.25rem); /* 21px → 36px */
  font-weight: 500;
  font-style: italic;
  line-height: 1.45;
  color: var(--wp--custom--semantic--color--text--primary);
  max-width: 47.5rem;   /* 760px */
  margin: 0 auto var(--wp--custom--space--7);
}

/* --- Attribution group ----------------------------------------------- */

.wpdl-testimonial__attribution.wp-block-group {
  margin-block: 0;
  gap: var(--wp--custom--space--1);
  align-items: center;
}

/* --- Name ------------------------------------------------------------ */

.wpdl-testimonial__name.wp-block-paragraph {
  font-family: var(--wp--custom--semantic--typography--body--font-family);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--wp--custom--semantic--color--text--primary);
  margin-block: 0;
}

/* --- Role / occasion tag -------------------------------------------- */

.wpdl-testimonial__role.wp-block-paragraph {
  font-family: var(--wp--custom--semantic--typography--body--font-family);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--custom--semantic--color--text--muted);
  margin-block: 0;
}

/* --- CTA button ---------------------------------------------------------- */

.wpdl-testimonial__cta.wp-block-button {
  margin-block-start: var(--wp--custom--space--6);
}

/* --- Tablet (< 64em / 1024px) --------------------------------------- */

@media (width < 64em) {
  .wpdl-testimonial__quote.wp-block-paragraph {
    max-width: 33.75rem; /* 540px */
  }
}

/* --- Mobile (< 40em / 640px) ---------------------------------------- */

@media (width < 40em) {
  hr.wp-block-separator.is-style-wpdl-testimonial-divider {
    height: 1.5rem; /* 24px */
    margin-block-end: var(--wp--custom--space--6);
  }

  .wpdl-testimonial__occasion.wp-block-paragraph {
    font-size: 0.6875rem; /* 11px */
  }

  .wpdl-testimonial__role.wp-block-paragraph {
    font-size: 0.625rem; /* 10px */
  }
}
