.elementor-widget .faq-04-qa { padding: var(--space-m) var(--gutter) var(--space-2xl); background: var(--color-bg); scroll-margin-top: var(--space-l); }
.elementor-widget .faq-04-qa__inner { display: grid; gap: var(--space-s); max-width: var(--container); margin-inline: auto; }
.elementor-widget .faq-04-qa__group { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-m); padding: var(--space-l) var(--space-m); border: var(--border-width) solid var(--color-line); border-radius: var(--radius-m); background: var(--color-paper); box-shadow: var(--shadow-1); scroll-margin-top: var(--space-l); transition: box-shadow var(--dur-med) var(--ease-out); }
.elementor-widget .faq-04-qa__group:hover { box-shadow: var(--shadow-2); }
.elementor-widget .faq-04-qa__group[hidden] { display: none; }
.elementor-widget .faq-04-qa__head { display: flex; align-items: center; gap: var(--space-m); }
.elementor-widget .faq-04-qa__badge { display: grid; place-items: center; flex: none; width: var(--space-3xl); aspect-ratio: 1; border-radius: var(--radius-round); transition: transform var(--dur-slow) var(--ease-out); }
.elementor-widget .faq-04-qa__group:hover .faq-04-qa__badge { transform: rotate(var(--tilt)) scale(var(--zoom-hover)); }
.elementor-widget .faq-04-qa__badge--lavender { background: var(--color-lavender-100); }
.elementor-widget .faq-04-qa__badge--sage { background: var(--color-sage-100); }
.elementor-widget .faq-04-qa__badge--cream { background: var(--color-cream); border: var(--border-width) solid var(--color-line); }
.elementor-widget .faq-04-qa__icon { width: var(--space-2xl); height: var(--space-2xl); fill: none; stroke: var(--color-heading); stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; }
.elementor-widget .faq-04-qa__title { margin: 0; overflow-wrap: anywhere; font-family: var(--font-sans); font-weight: var(--weight-regular); font-size: var(--step-1); letter-spacing: var(--tracking-caps); line-height: var(--leading-heading); color: var(--color-heading); }
.elementor-widget .faq-04-qa__desc { margin: var(--space-2xs) 0 0; font-size: var(--text-small); }
.elementor-widget .faq-04-qa__item { border-bottom: var(--border-width) solid var(--color-line); }
.elementor-widget .faq-04-qa__item[hidden] { display: none; }
.elementor-widget .faq-04-qa__summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-s); padding: var(--space-xs) var(--space-2xs); color: var(--color-heading); cursor: pointer; list-style: none; border-radius: var(--radius-s); transition: background-color var(--dur-fast) var(--ease-out), padding var(--dur-fast) var(--ease-out); }
.elementor-widget .faq-04-qa__summary::-webkit-details-marker { display: none; }
.elementor-widget .faq-04-qa__summary:hover { background: var(--color-sage-100); }
.elementor-widget .faq-04-qa__summary:active { background: var(--color-sage-200); }
.elementor-widget .faq-04-qa__chevron { flex: none; width: var(--icon-s); height: var(--icon-s); fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur-med) var(--ease-out); }
.elementor-widget .faq-04-qa__item[open] .faq-04-qa__chevron { transform: rotate(var(--flip)); }
.elementor-widget .faq-04-qa__answer { max-width: var(--measure); padding: 0 var(--space-2xs) var(--space-s); font-size: var(--text-small); line-height: var(--leading-body); }
.elementor-widget .faq-04-qa__answer:empty { display: none; }
.elementor-widget .faq-04-qa__promo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-m); padding: var(--space-l); border-radius: var(--radius-m); background: var(--color-lavender-100); }
.elementor-widget .faq-04-qa__promo-title { margin: 0; font-family: var(--font-serif); font-size: var(--step-2); line-height: var(--leading-heading); color: var(--color-heading); }
.elementor-widget .faq-04-qa__arrow { width: var(--space-s); height: var(--space-s); fill: none; stroke: currentColor; stroke-width: var(--icon-stroke); stroke-linecap: round; stroke-linejoin: round; transition: transform var(--dur-fast) var(--ease-out); }
.elementor-widget .faq-04-qa__btn { display: inline-flex; align-items: center; gap: var(--space-xs); min-height: var(--control-height); padding-inline: var(--space-m); border-radius: var(--radius-s); background: var(--color-lavender-700); color: var(--color-white); font-size: var(--text-small); font-weight: var(--weight-medium); letter-spacing: var(--tracking-caps); text-decoration: none; transition: background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.elementor-widget .faq-04-qa__btn:hover { background: var(--color-heading); transform: translateY(var(--lift)); }
.elementor-widget .faq-04-qa__btn:hover .faq-04-qa__arrow { transform: translateX(var(--space-3xs)); }
.elementor-widget .faq-04-qa__btn:active { background: var(--color-lavender-500); transform: translateY(0); }
.elementor-widget .faq-04-qa__btn[aria-disabled="true"] { background: var(--color-disabled-bg); color: var(--color-disabled-text); pointer-events: none; }
@media (min-width: 1024px) {
  .elementor-widget .faq-04-qa__group { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); align-items: center; gap: var(--space-l); padding: var(--space-m) var(--space-l); }
  .elementor-widget .faq-04-qa__group:has(.faq-04-qa__promo) { grid-template-columns: minmax(0, 3fr) minmax(0, 4.5fr) minmax(0, 2.5fr); }
}
@media (max-width: 479px) {
  .elementor-widget .faq-04-qa__title { font-size: var(--text-small); }
  .elementor-widget .faq-04-qa__badge { width: var(--space-2xl); }
  .elementor-widget .faq-04-qa__icon { width: var(--icon-m); height: var(--icon-m); }
}
@media (min-width: 1280px) {
  .elementor-widget .faq-04-qa__btn { white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-widget .faq-04-qa__group, .elementor-widget .faq-04-qa__badge, .elementor-widget .faq-04-qa__summary, .elementor-widget .faq-04-qa__chevron, .elementor-widget .faq-04-qa__btn, .elementor-widget .faq-04-qa__arrow { transition-duration: 0s; }
  .elementor-widget .faq-04-qa__group:hover .faq-04-qa__badge { transform: none; }
}
