/* =========================================================
   SINN - SINGLE PRODUCT WHY CHOOSE
   Shortcode: [sinn_product_why_choose]
   ========================================================= */


/* =========================================================
   1. ROOT
   ========================================================= */

.sinn-wc {
    --wc-black: #101315;
    --wc-yellow: #ffc500;
    --wc-ivory: #f4f5f2;

    --wc-line: rgba(244, 245, 242, .12);
    --wc-text: rgba(244, 245, 242, .92);
    --wc-muted: rgba(244, 245, 242, .72);

    box-sizing: border-box;

    width: min(1440px, calc(100% - 64px));
    max-width: 1440px;

    margin: 26px auto 0;
    padding: 38px 34px 36px;

    color: var(--wc-ivory);
    background: var(--wc-black);

    border: 1px solid rgba(16, 19, 21, .35);
    border-radius: 6px;

    font-family:
        Inter,
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;
}


.sinn-wc *,
.sinn-wc *::before,
.sinn-wc *::after {
    box-sizing: border-box;
}


/* =========================================================
   2. TITLE
   ========================================================= */

.sinn-wc__title {
    margin: 0;
    padding: 0 0 18px;

    color: var(--wc-ivory);

    border-bottom: 1px solid var(--wc-line);

    font-size: clamp(30px, 2.35vw, 35px);
    line-height: 1.12;
    font-weight: 800;

    letter-spacing: -.02em;
}


/* =========================================================
   3. LIST
   ========================================================= */

.sinn-wc__list {
    width: 100%;
}


/* =========================================================
   4. ITEM
   ========================================================= */

.sinn-wc__item {
    margin: 0;

    border-bottom: 1px solid var(--wc-line);
}


.sinn-wc__item:last-child {
    border-bottom: 0;
}


/* =========================================================
   5. SUMMARY
   ========================================================= */

.sinn-wc__summary {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 24px;

    min-height: 98px;

    padding: 18px 18px 18px 16px;

    cursor: pointer;

    list-style: none;

    user-select: none;
}


.sinn-wc__summary::-webkit-details-marker {
    display: none;
}


.sinn-wc__summary::marker {
    content: "";
}


.sinn-wc__summary-main {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 18px;
}


/* =========================================================
   6. ITEM TITLE
   ========================================================= */

.sinn-wc__item-title {
    display: block;

    color: var(--wc-text);

    font-size: 16px;
    line-height: 1.4;
    font-weight: 750;
}


/* =========================================================
   7. VIEW DETAILS
   ========================================================= */

.sinn-wc__button-text {
    display: inline-block;

    color: var(--wc-yellow);

    font-size: 13px;
    line-height: 1.25;
    font-weight: 850;

    letter-spacing: .025em;
    text-transform: uppercase;
}


/* =========================================================
   8. PLUS / MINUS
   ========================================================= */

.sinn-wc__toggle {
    position: relative;

    flex: 0 0 20px;

    width: 20px;
    height: 20px;
}


.sinn-wc__toggle::before,
.sinn-wc__toggle::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    background: var(--wc-yellow);

    transform: translate(-50%, -50%);

    transition:
        transform .25s ease,
        opacity .25s ease;
}


.sinn-wc__toggle::before {
    width: 10px;
    height: 2px;
}


.sinn-wc__toggle::after {
    width: 2px;
    height: 10px;
}


.sinn-wc__item[open] .sinn-wc__toggle::after {
    opacity: 0;

    transform:
        translate(-50%, -50%)
        scaleY(0);
}


/* =========================================================
   9. EXPANDED CONTENT
   Desktop content width is deliberately limited so long
   paragraphs wrap like the supplied reference.
   ========================================================= */

.sinn-wc__content {
    width: 100%;
    max-width: 600px;

    padding:
        0
        64px
        24px
        16px;

    color: var(--wc-muted);

    font-size: 14px;
    line-height: 1.85;
    font-weight: 400;
}


.sinn-wc__content p {
    margin: 0 0 10px;

    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
}


.sinn-wc__content p:last-child {
    margin-bottom: 0;
}


.sinn-wc__content strong {
    color: var(--wc-text);
    font-weight: 700;
}


.sinn-wc__content a {
    color: var(--wc-yellow);

    text-decoration: underline;
    text-underline-offset: 3px;
}


/* =========================================================
   10. HOVER / FOCUS
   ========================================================= */

@media (hover: hover) {

    .sinn-wc__summary:hover .sinn-wc__item-title {
        color: #ffffff;
    }


    .sinn-wc__summary:hover .sinn-wc__button-text {
        color: #ffd52f;
    }

}


.sinn-wc__summary:focus-visible {
    outline: 2px solid var(--wc-yellow);
    outline-offset: -2px;
}


/* =========================================================
   11. TABLET <= 990
   ========================================================= */

@media (max-width: 990px) {

    .sinn-wc {
        width: calc(100% - 48px);

        padding: 32px 26px;
    }


    .sinn-wc__summary {
        min-height: 92px;

        padding-left: 10px;
        padding-right: 10px;
    }


    .sinn-wc__content {
        max-width: 620px;

        padding:
            0
            46px
            22px
            10px;
    }

}


/* =========================================================
   12. MOBILE LANDSCAPE <= 766
   ========================================================= */

@media (max-width: 766px) {

    .sinn-wc {
        width: calc(100% - 32px);

        margin-top: 22px;

        padding: 26px 20px;
    }


    .sinn-wc__title {
        font-size: 28px;

        padding-bottom: 16px;
    }


    .sinn-wc__summary {
        min-height: 88px;

        gap: 16px;

        padding:
            16px
            6px;
    }


    .sinn-wc__summary-main {
        gap: 14px;
    }


    .sinn-wc__item-title {
        font-size: 15px;
    }


    .sinn-wc__button-text {
        font-size: 12px;
    }


    .sinn-wc__content {
        width: 100%;
        max-width: 100%;

        padding:
            0
            36px
            20px
            6px;

        font-size: 14px;
        line-height: 1.75;
    }

}


/* =========================================================
   13. MOBILE PORTRAIT <= 477
   ========================================================= */

@media (max-width: 477px) {

    .sinn-wc {
        width: calc(100% - 24px);

        padding: 24px 16px;
    }


    .sinn-wc__title {
        font-size: 26px;
    }


    .sinn-wc__summary {
        min-height: 84px;
    }


    .sinn-wc__item-title {
        font-size: 14px;
    }


    .sinn-wc__content {
        max-width: 100%;

        padding:
            0
            30px
            20px
            6px;
    }

}