   :root {
    --faq-divider: #e9e9e9;
    --faq-q-color: #0e0e0e;
    --faq-a-color: #2b2b2b;
    --faq-q-size: clamp(18px, 2.2vw, 22px);
    --faq-a-size: 16px;
  }
  
  /* Container */
  .wp-block-yoast-faq-block {
    margin: 0;
    padding: 0;
  }
  
  /* Section divider */
  .wp-block-yoast-faq-block .schema-faq-section {
    padding: 18px 0;
    border-bottom: 1px solid var(--faq-divider);
  }
  
  /* Question as a proper button */
  .wp-block-yoast-faq-block .schema-faq-question {
    appearance: none;
    background: none;
    border: 0;
    font: inherit;
    color: var(--faq-q-color);
    text-align: inherit;
    margin: 0;
    padding: 0;
  
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
  
    font-weight: 500;
    font-size: var(--text-l);
    line-height: 1.35;
    padding-block: 8px;

    strong {
      font-weight: normal;
    }
  }
  
  /* Focus ring (keyboard) */
  .wp-block-yoast-faq-block .schema-faq-question:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
    border-radius: 6px;
  }
  
  /* Chevron: closed = down, open = up (rotate 180deg) */
  .wp-block-yoast-faq-block .schema-faq-question::after {
    content: "";
    flex: 0 0 20px;
    height: 20px;
    margin-top: .2rem;
  
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 14.5l-5-5 1.41-1.41L12 11.67l3.59-3.58L17 9.5l-5 5z"/></svg>') center/contain no-repeat;
            mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 14.5l-5-5 1.41-1.41L12 11.67l3.59-3.58L17 9.5l-5 5z"/></svg>') center/contain no-repeat;
  
    transform: rotate(0deg);
    transition: transform .25s ease;
  }
  .wp-block-yoast-faq-block .schema-faq-section.is-open .schema-faq-question::after {
    transform: rotate(180deg);
  }
  
  /* Answer text */
  .wp-block-yoast-faq-block .schema-faq-answer {
    color: var(--faq-a-color);
    font-size: var(--faq-a-size);
    line-height: 1.7;
    margin: 10px 0 16px;
  }
  
.wp-block-yoast-faq-block .yoast-faq-panel {
    overflow: hidden;
    transition: max-height .24s ease, opacity .18s ease;
    opacity: 1;
  }
  
  .wp-block-yoast-faq-block .yoast-faq-panel[data-state="opening"],
  .wp-block-yoast-faq-block .yoast-faq-panel[data-state="open"] {
    display: block;
  }
  
  .wp-block-yoast-faq-block .yoast-faq-panel[data-state="closing"],
  .wp-block-yoast-faq-block .yoast-faq-panel[data-state="closed"] {
    opacity: 0;
    max-height: 0;
  }  

  .wp-block-yoast-faq-block .yoast-faq-panel[data-state="closed"] {
    display: none;
  }

  .wp-block-yoast-faq-block .schema-faq-question.yoast-faq-has-icon::after {
    content: none !important;
  }

  .wp-block-yoast-faq-block .schema-faq-question .yoast-faq-arrow {
    margin-top: 0.2rem;
    display: inline-block;
    transform: rotateZ(0deg);
    transition: transform .2s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .wp-block-yoast-faq-block .schema-faq-section.is-open .schema-faq-question .yoast-faq-arrow {
    transform: rotateZ(180deg);
  }

  @media (prefers-reduced-motion: reduce) {
    .wp-block-yoast-faq-block .schema-faq-question .yoast-faq-arrow { transition: none; }
  }

  
  /* Reduced motion support */
  @media (prefers-reduced-motion: reduce) {
    .wp-block-yoast-faq-block .yoast-faq-panel { transition: none; }
    .wp-block-yoast-faq-block .schema-faq-question::after { transition: none; }
  }
  