/* Native WordPress Details uses an unclassed <summary>. Match that semantic
   element directly: source-only .faq-trigger classes must not be required for
   a question to keep its presentation after a normal Gutenberg edit. */
details.faq-item > summary {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    position: relative;
    width: 100%;
    margin: 0;
    padding: 20px 24px;
    border: 0;
    background: transparent;
    color: var(--hc-ink, #0b2540);
    font-family: var(--pg-font-display, "PG Display", "Segoe UI", sans-serif);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: left;
    list-style: none;
    cursor: pointer;
    transition: color .2s ease;
}

details.faq-item > summary::marker {
    content: "";
    display: none;
    font-size: 0;
}

details.faq-item > summary::-webkit-details-marker {
    display: none;
}

/* Use one decorative chevron even if Gutenberg normalizes the inline spans
   while editing a question. The original decorative span is not an answer. */
details.faq-item > summary > .faq-chevron {
    display: none;
}

details.faq-item > summary::after {
    content: "";
    display: block;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    margin: -.2em 2px 0 8px;
    border-right: 2px solid var(--hc-brand-cyan, #00a8c9);
    border-bottom: 2px solid var(--hc-brand-cyan, #00a8c9);
    transform: rotate(45deg);
    transition: transform .2s ease;
}

details.faq-item[open] > summary::after {
    transform: rotate(-135deg);
    margin-top: .2em;
}

details.faq-item > summary > span:first-child:not(.faq-chevron) {
    flex: 1;
    min-width: 0;
}

details.faq-item > summary > p {
    margin: 0;
    color: inherit;
    font: inherit;
}

details.faq-item > summary:hover,
details.faq-item > summary:focus-visible {
    color: var(--hc-brand-cyan, #056a98);
}

details.faq-item > summary:focus-visible {
    outline: 2px solid var(--hc-brand-cyan, #00a8c9);
    outline-offset: -2px;
}

details.faq-item > .faq-answer-wrap {
    max-height: none;
    overflow: visible;
}

/* The home FAQ is the compact, joined accordion used on recette: 68px rows
   on desktop, bold navy questions, cyan chevrons and fine separators. */
.hc-home-commercial-faq .faq-accordion {
    gap: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--hc-line-soft, #e4edf3);
    border-radius: 4px;
    background: #fff;
}

.hc-home-commercial-faq details.faq-item {
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid var(--hc-line-soft, #e4edf3);
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.hc-home-commercial-faq details.faq-item:last-child {
    border-bottom: 0;
}

.hc-home-commercial-faq details.faq-item > summary {
    padding: clamp(18px, 2.5vw, 22px) clamp(20px, 2.5vw, 28px);
    color: var(--hc-navy-900, #0b2540);
    font-size: clamp(1rem, 1.8vw, 1.0625rem);
    font-weight: 600;
    line-height: 1.35;
}

.hc-home-commercial-faq details.faq-item > summary:hover,
.hc-home-commercial-faq details.faq-item > summary:focus-visible {
    color: var(--hc-brand-cyan, #00a8c9);
}

.hc-home-commercial-faq details.faq-item > summary::after {
    width: 9px;
    height: 9px;
}

.hc-home-commercial-faq details.faq-item[open] > .faq-answer-wrap {
    border-top: 1px solid var(--hc-line-soft, #e4edf3);
}

.hc-home-commercial-faq details.faq-item .faq-answer {
    box-sizing: border-box;
    max-width: 75ch;
    margin: 0;
    padding: clamp(12px, 2vw, 16px) clamp(20px, 2.5vw, 28px) clamp(20px, 2.5vw, 24px);
    color: var(--hc-ink-soft, #526578);
    background: #fff;
    font-size: 1rem;
    line-height: 1.65;
}

@media (prefers-reduced-motion: reduce) {
    details.faq-item > summary,
    details.faq-item > summary::after {
        transition: none;
    }
}
