/* Native Gutenberg disclosures use the site's FAQ design without a custom block.
 * The existing FAQ/guide wrappers and shared extras terms keep their own styles.
 * No dimensions on outer blocks: normal, wide and nested content widths still work.
 */
.wp-block-accordion {
  --kymenmatkat-accordion-gap: 12px;
  margin-block: 1.25rem;
}

.wp-block-accordion > .wp-block-accordion-item {
  margin-block-start: 0;
}

.wp-block-accordion > .wp-block-accordion-item + .wp-block-accordion-item {
  margin-block-start: var(--kymenmatkat-accordion-gap);
}

.wp-block-accordion-item,
.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) {
  background: #fff;
  border: 1px solid var(--kymenmatkat-line);
  border-radius: var(--kymenmatkat-radius);
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Heading semantics stay intact; visually the question uses the FAQ body font. */
.wp-block-accordion-item > .wp-block-accordion-heading {
  color: var(--kymenmatkat-ink);
  font-family: var(--kymenmatkat-font-body);
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: normal;
  line-height: 1.55;
  margin: 0;
}

.wp-block-accordion-heading > .wp-block-accordion-heading__toggle {
  align-items: flex-start;
  border-radius: var(--kymenmatkat-radius);
  gap: 12px;
  min-height: 60px;
  overflow: visible;
  padding: 18px 20px 18px 24px;
  text-align: start;
}

.wp-block-accordion-heading__toggle > .wp-block-accordion-heading__toggle-title {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* Core underlines hovered questions; the site's other FAQ controls do not.
 * Target only the question, leaving answer links and keyboard focus intact.
 */
.wp-block-accordion-heading > .wp-block-accordion-heading__toggle:hover > .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}

/* Keep Core's real, aria-hidden icon and its left/right/hidden settings.
 * Replace its visual + with +/−; do not rotate the surrounding icon tile.
 */
.wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
  background: #eef6fb;
  border: 1px solid #d2e4ed;
  border-radius: 7px;
  color: var(--kymenmatkat-blue);
  flex: 0 0 32px;
  font-size: 0;
  height: 32px;
  margin-block: -6px;
  transform: none;
  transition: none;
  width: 32px;
}

.wp-block-accordion-heading__toggle-icon::after {
  content: "+";
  font-size: 1.2rem;
  line-height: 30px;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
  color: var(--kymenmatkat-mint);
  transform: none;
}

.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::after {
  content: "−";
}

.wp-block-accordion-item > .wp-block-accordion-panel {
  border-top: 1px solid #e2edf1;
  color: var(--kymenmatkat-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin: 0 24px;
  min-width: 0;
  padding: 18px 0 24px;
}

/* Core uses hidden="until-found" so browser Find can reveal answers. It hides
 * content, not padding/borders: collapse only the empty shell, retaining Find.
 */
.wp-block-accordion-item > .wp-block-accordion-panel[hidden] {
  border-top: 0;
  padding-block: 0;
}

.wp-block-accordion-panel > :first-child {
  margin-block-start: 0;
}

.wp-block-accordion-panel > :last-child {
  margin-block-end: 0;
}

.wp-block-accordion-panel :where(p, li) {
  color: inherit;
  font-size: inherit;
}

/* Details has no answer wrapper. Inset its actual content blocks, not summary. */
.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) {
  margin-block: 1.25rem;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary {
  color: var(--kymenmatkat-ink);
  cursor: pointer;
  font-family: var(--kymenmatkat-font-body);
  font-size: 0.95rem;
  font-weight: 750;
  line-height: 1.55;
  list-style: none;
  min-height: 60px;
  padding: 18px 62px 18px 24px;
  position: relative;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary::-webkit-details-marker {
  display: none;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary::after {
  background: #eef6fb;
  border: 1px solid #d2e4ed;
  border-radius: 7px;
  color: var(--kymenmatkat-blue);
  content: "+";
  font-size: 1.2rem;
  line-height: 30px;
  position: absolute;
  right: 20px;
  text-align: center;
  top: 12px;
  width: 32px;
}

.wp-block-details[open]:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary::after {
  color: var(--kymenmatkat-mint);
  content: "−";
}

.wp-block-details[open]:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) {
  padding-block-end: 24px;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > :not(summary) {
  color: var(--kymenmatkat-muted);
  font-size: 0.9rem;
  line-height: 1.55;
  margin-inline: 24px;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary + :not(summary) {
  border-top: 1px solid #e2edf1;
  margin-block-start: 0;
  padding-block-start: 18px;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > :last-child:not(summary) {
  margin-block-end: 0;
}

.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > :not(summary) :where(p, li) {
  color: inherit;
  font-size: inherit;
}

/* Native controls retain the site's visible keyboard-focus treatment. */
.wp-block-accordion-heading > .wp-block-accordion-heading__toggle:focus-visible,
.wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > summary:focus-visible {
  border-radius: var(--kymenmatkat-radius);
  outline-offset: -3px;
}

/* Do not treat Gutenberg's add-block control as answer content. */
.editor-styles-wrapper .wp-block-details:where(:not(.kymenmatkat-shared-extras__terms):not(.kymenmatkat-faq *):not(.kymenmatkat-guide-accordions *)) > .block-list-appender {
  border: 0;
  margin: 0;
  padding: 0;
}
