.ols-product-faq,
.ols-product-faq * {
    box-sizing: border-box;
}

.ols-product-faq {
    padding: clamp(64px, 7vw, 92px) 0;
    color: #17232d;
    background: #f6f8fa;
}

.ols-product-faq__inner {
    width: min(1120px, calc(100% - 64px));
    margin: 0 auto;
}

.ols-product-faq__intro {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.ols-product-faq__intro > span {
    color: #1677b8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
}

.ols-product-faq__intro h2 {
    margin: 14px 0 16px;
    color: #17232d;
    font-size: clamp(30px, 3.3vw, 48px);
    font-weight: 700;
    line-height: 1.18;
    text-wrap: balance;
}

.ols-product-faq__intro p {
    max-width: 34em;
    margin: 0 auto;
    color: #66737d;
    font-size: 15px;
    line-height: 1.8;
}

.ols-product-faq__list {
    display: grid;
    gap: 12px;
    margin-top: clamp(34px, 5vw, 54px);
}

.ols-product-faq details {
    overflow: hidden;
    border: 1px solid #e0e6eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(23, 35, 45, .035);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.ols-product-faq details[open] {
    border-color: rgba(22, 119, 184, .38);
    box-shadow: 0 12px 32px rgba(22, 119, 184, .09);
}

.ols-product-faq summary {
    position: relative;
    padding: 21px 62px 21px 24px;
    color: #17232d;
    cursor: pointer;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.55;
    list-style: none;
}

.ols-product-faq summary::-webkit-details-marker { display: none; }

.ols-product-faq summary::before,
.ols-product-faq summary::after {
    position: absolute;
    top: 50%;
    right: 24px;
    width: 18px;
    height: 2px;
    background: #1677b8;
    content: "";
    transform: translateY(-50%);
    transition: transform .2s ease;
}

.ols-product-faq summary::after { transform: translateY(-50%) rotate(90deg); }
.ols-product-faq details[open] summary::after { transform: translateY(-50%) rotate(0); }
.ols-product-faq summary:focus-visible { outline: 3px solid rgba(22, 119, 184, .28); outline-offset: 4px; }

.ols-product-faq__answer {
    padding: 0 62px 22px 24px;
    border-top: 1px solid #edf1f4;
    color: #5c6871;
    font-size: 15px;
    line-height: 1.85;
}

.ols-product-faq__answer > :first-child { margin-top: 0; }
.ols-product-faq__answer > :last-child { margin-bottom: 0; }

.ols-product-faq__answer::before {
    display: block;
    height: 18px;
    content: "";
}

@media (max-width: 768px) {
    .ols-product-faq__inner {
        width: calc(100% - 32px);
    }

    .ols-product-faq__list { margin-top: 30px; }
    .ols-product-faq summary { padding: 18px 48px 18px 16px; font-size: 16px; }
    .ols-product-faq summary::before,
    .ols-product-faq summary::after { right: 17px; width: 16px; }
    .ols-product-faq__answer { padding: 0 16px 19px; font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .ols-product-faq details,
    .ols-product-faq summary::after { transition-duration: .01ms; }
}
