/* this should be at the top of your theme CSS file

 Theme Name:   Valdev Badeschutz
 Author:       Valdev Informatique
 Author URI:   https://valdev.ch
 Version:      1.0.0
 Text Domain:  valdev_badeschutz_theme
*/

body {
    background-color: #f6f7fa;
}
* {
    font-family: "Prompt", sans-serif;
    padding: 0px;
    margin: 0px;
    text-decoration: none;
}
h1,
h2,
h3,
h4 {
    color: #011c52;
}
h1 {
    font-size: 64px;
    color: white;
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.4);
}
.container h1 {
    color: #011c52;
    text-shadow: none;
}
i {
    font-style: normal;
}
h2 {
    font-size: 42px;
}
h3 {
    font-size: 28px;
}
h4 {
    font-size: 20px;
}
a {
    font-size: 20px;
}
p,
ul,
li {
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color: #525b6c;
}
.boxed {
    max-width: 1200px;
    width: 100%;
}
.main-ctn {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
section {
    padding-top: 120px;
    padding-bottom: 120px;
}
.btn,
button {
    cursor: pointer;
    border: none;
    padding: 18px 45px 18px 45px;
    width: fit-content;
    font-weight: 500;
    font-size: 20px;
    border-radius: 15px;
    text-align: center;
}
.btn-yellow {
    color: #011c52;
    background-color: #ffd80b;
}
.btn-yellow:hover {
    background-color: #0140bb;
    color: white;
}
.btn-blue {
    background-color: #0140bb;
    color: white;
    display: flex;
    gap: 10px;
}
.btn-blue:hover {
    background-color: #ffd80b;
    box-shadow: 0px 6px 26px 4px rgba(0, 0, 0, 0.08);
}
.arrow-btn {
    display: flex;
    border-radius: 15px 4px;
    background: #ffd80b;
    padding: 15px 30px 15px 30px;
    width: fit-content;
    box-shadow: 0px 6px 26px 4px rgba(0, 0, 0, 0.15);
}
.back-btn {
    font-weight: 600;
    color: #0140bb;
    display: flex;
    flex-direction: row;
    gap: 5px;
}
.add-cart-btn {
    position: absolute;
    right: 0px;
    background-color: #0140bb;
    height: 100%;
    width: 83px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.full-card.boxed details {
    margin-top: 0;
    margin-bottom: 0;
}
details {
    margin-top: 20px;
    margin-bottom: 20px;
}
details .back-btn {
    padding-left: 40px;
}
details summary {
    position: relative;
    cursor: pointer;
    display: flex;
    width: auto;
    background-color: #ffd80b;
    padding-left: 20px;
    padding-right: 20px;
    height: 60px;
    border-radius: 15px;
    align-items: center;
}
.col-left details summary::after {
    background-image: url(./media/arrow-acc-down.svg);
    background-position: center;
    width: 20px;
    background-repeat: no-repeat;
    content: "";
}
details summary::after {
    position: absolute;
    right: 100px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    content: url(./media/arrow-acc-down.svg);
}
details[open] summary::after {
    transform: rotate(180deg);
}
ul {
    padding-left: 45px;
    padding-top: 10px;
    padding-bottom: 10px;
}
/* end Global style */
/* start Navbar style */
.main-navbar .lang-cart-ctn .burger-ico {
    display: none;
}
.menu-ctn {
    display: flex;
    gap: 40px;
}
.menu-ctn a {
    text-transform: uppercase;
    text-decoration: none;
    color: #011c52;
    font-weight: 600;
    font-size: 16px;
}
.menu-ctn a:hover {
    color: #0140bb;
}
header {
    display: flex;
    align-items: center;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.11);
    backdrop-filter: blur(10.5px);
    -webkit-backdrop-filter: blur(10.5px);
    position: fixed;
    width: 100%;
    z-index: 5;
}
header .high-bar {
    width: 100%;
    background-color: #0140bb;
    color: white;
    font-size: 15px;
    padding-top: 3px;
    padding-bottom: 3px;
    display: flex;
    justify-content: center;
}
header .high-bar a {
    color: white;
    font-weight: 700;
    font-size: 16px;
    text-decoration: underline;
}
header .info-nav-ctn {
    display: flex;
    gap: 5px;
    justify-content: flex-end;
}
header .main-navbar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
}
header .lang-cart-ctn {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}
header .cart-ctn {
    position: relative;
}
header .nbr-cart {
    position: absolute;
    background-color: #ffd80b;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: bold;
    right: -6px;
    bottom: 5px;
}
body .woocommerce-message {
    border-top-color: #011c52;
}
body .woocommerce-message::before {
    color: #011c52;
}
header .swtich-lang-ctn {
    color: #011c52;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
}
.grecaptcha-badge {
    visibility: hidden !important;
}
header .swtich-lang-ctn.active {
    font-weight: 600;
}
header .swtich-lang-ctn:hover {
    color: #0140bb;
}
/* end Navbar style */
/* start home slider */
.home-slider {
    height: 100vh;
    position: relative;
}
.home-slider .slide {
    display: none;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 100%;
    justify-content: center;
}

.home-slider .slide.slide-active {
    display: flex;
}

.home-slider::after {
    position: absolute;
    bottom: -8px;
    content: url("./media/separator-grey.svg");
    width: 100%;
}
.home-slider .slide-content {
    display: flex;
    flex-direction: column;
}
.home-slider .slide-content span {
    color: white;
    font-size: 48px;
    text-shadow: 0px 0px 16px rgba(0, 0, 0, 0.4);
    margin-bottom: 15px;
}
.home-slider .ctrl-ctn {
    position: absolute;
    bottom: 150px;
    display: flex;
    flex-direction: row;
    gap: 40px;
    left: 50%;
    transform: translateX(-50%);
}
.home-slider .ctrl-ctn .slide-round-ctn {
    display: flex;
    flex-direction: row;
    gap: 15px;
}
.home-slider .ctrl-ctn .slide-round-ctn > img {
    opacity: 0.5;
}
.home-slider .ctrl-ctn .slide-round-ctn > img.active {
    opacity: 1;
}
.home-slider .ctrl-ctn img {
    cursor: pointer;
}
/* end home slider */
/* start page section */
.page {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page .page-title {
    width: 100%;
    display: flex;
    position: relative;
    background-image: url("media/slides/slide1.jpg");
    background-position: center;
    background-size: cover;
    height: 60vh;
    justify-content: flex-end;
}
#notice {
    width: 100%;
    z-index: 100000;
    position: fixed;
    top: 102px;
}
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button {
    font-size: initial;
}
.page .page-title h1 {
    margin-bottom: 140px;
}
.page .page-title::after {
    content: url("./media/separator-grey.svg");
    position: absolute;
    bottom: -8px;
    width: 100%;
}
.page .page-content {
    padding-top: 120px;
    padding-bottom: 180px;
}
/* end page section */
/* start catalog style section */
.catalog-ctn .catalog-filter {
    display: flex;
    flex-direction: row;
}
.catalog-ctn .catalog-filter a {
    background-color: white;
    padding: 10px 20px 10px 20px;
    font-weight: 500;
}
.catalog-ctn .catalog-filter a:first-child {
    border-radius: 15px 0px 0px 15px;
}
.catalog-ctn .catalog-filter a:last-child {
    border-radius: 0px 15px 15px 0px;
}
.catalog-ctn .catalog-filter .active,
.catalog-ctn .catalog-filter a:hover {
    font-weight: 600;
    background-color: #0140bb;
    color: white;
    filter: drop-shadow(0px 4px 26px rgba(1, 64, 187, 0.15));
}
.catalog-ctn .grid-catalog {
    margin-top: 20px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
}
.catalog-ctn .grid-catalog .single-catalog {
    display: flex;
    position: relative;
    flex-direction: column;
    width: 100%;
    filter: drop-shadow(0px 6px 26px rgba(0, 0, 0, 0.06));
}
.catalog-ctn .grid-catalog .single-catalog .single-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 15px 15px 0px 0px;
}
.catalog-ctn .grid-catalog .single-catalog .content {
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: white;
    border-radius: 0px 0px 15px 15px;
}
.catalog-ctn .grid-catalog .single-catalog .content p {
    font-size: 18px;
}
.catalog-ctn .grid-catalog .single-catalog .open-btn {
    position: absolute;
    bottom: 28px;
    right: 20px;
    width: 72px;
    height: 46px;
    display: flex;
    cursor: pointer;
    background-color: #0140bb;
    align-items: center;
    justify-content: center;
    border-radius: 15px 4px 15px 4px;
}
.catalog-ctn .grid-catalog .single-catalog .open-btn:hover {
    background-color: #ffd80b;
}
/* end catalog style section */
/* start contact page style */
.contact-content .two-col {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.contact-content .two-col .col-left {
    max-width: 650px;
}
.contact-content .two-col .col-right {
    width: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-content .maps-ctn {
    margin-top: 30px;
    background-color: grey;
    height: 560px;
}
.contact-content .maps-ctn > * {
    height: 100%;
}
/* end contact page style */
/* start product style section */
.product-content {
    display: flex;
    flex-direction: row;
    gap: 45px;
}
.product-content .col-left {
    width: 70%;
}
.product-content .col-left .accordion-ctn {
    margin-top: 20px;
}
.product-content .col-right {
    width: 30%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.product-content .col-right .product-img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
.product-content .col-right .price {
    font-size: 24px;
    font-weight: 600;
    color: #011c52;
}
.product-content .col-right p > a {
    font-weight: 600;
}
/* end product style section */
/* start about section style */
.about .about-header-ctn {
    display: flex;
    align-items: center;
}
.about .about-header-ctn h2 {
    width: 50%;
}
.about .about-header-ctn .btn-ctn {
    width: 50%;
    display: flex;
    justify-content: center;
}
.about .about-grid {
    display: flex;
    flex-direction: row;
    gap: 15px;
    margin-top: 40px;
    margin-bottom: 40px;
}
.about .about-grid img {
    height: 60px;
    margin-bottom: 15px;
}
/* end about section style */
/* start category tool style */
.category-tool {
    position: relative;
    background-color: #0140bb;
    padding-top: 180px;
    padding-bottom: 60px;
}
.category-tool h2 {
    color: white;
}
.category-tool .card-ctn {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
    margin-top: 40px;
    margin-bottom: 40px;
    justify-content: center;
}
.category-tool .full-card {
    background-color: white;
    box-shadow: 0px 6px 26px 4px rgba(0, 0, 0, 0.25);
    border-radius: 30px;
    padding: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 40px;
    margin-bottom: 40px;
    box-sizing: border-box;
}
.full-card .col-left {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 650px;
    width: 100%;
}
.col-left .breadcrumb {
    color: #525b6c;
}
.col-left h4 {
    background-color: #ffd80b;
    height: 60px;
    display: flex;
    align-items: center;
    border-radius: 15px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 16px;
}
.full-card .col-right {
    display: flex;
    flex-direction: column;
    max-width: 320px;
    width: 100%;
    gap: 10px;
}
.full-card .col-left .btn-ctn {
    height: fit-content;
    display: flex;
    gap: 15px;
    margin-top: 30px;
    justify-content: flex-end;
}
.full-card .col-left .arrow-btn {
    box-shadow: none;
}
.full-card .col-left .arrow-btn:hover {
    background-color: white;
    box-shadow: 0px 6px 26px 4px rgba(0, 0, 0, 0.08);
}
.full-card .col-left .arrow-btn img {
    transform: rotate(180deg);
}
.full-card .col-right img {
    width: 100%;
    aspect-ratio: 1 /1;
    object-fit: cover;
}
.full-card .col-right .price {
    font-size: 24px;
    font-weight: 600;
    color: #011c52;
}
.category-tool .card-ctn .card-single {
    cursor: pointer;
    position: relative;
    background-color: white;
    border-radius: 15px;
    box-shadow: 0px 6px 26px 4px rgba(0, 0, 0, 0.25);
    width: 180px;
    padding: 40px 30px 40px 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.category-tool .card-ctn .card-single .arrow-btn {
    position: absolute;
    bottom: -20px;
}
.category-tool .card-ctn .card-single:hover .arrow-btn {
    background-color: white;
}
.category-tool::before {
    position: absolute;
    top: -8px;
    content: url("./media/separator-grey.svg");
    transform: scale(-1, -1);
    width: 100%;
}
.category-tool::after {
    z-index: 2;
    position: absolute;
    top: 100%;
    content: url("./media/separator-blue.svg");
    width: 100%;
}
/* end category tool style */
/* start contact section style */
.contact {
    position: relative;
    padding-top: 240px;
    background-color: #ffd80b;
    align-items: flex-start;
}
.contact .form-col {
    width: 650px;
    --widthMargin: calc(100vw - 1220px);
    --halfMargin: calc(var(--widthMargin) / 2);
    margin-left: var(--halfMargin);
}
.contact .ctn-infocontact {
    margin-top: 20px;
    margin-bottom: 20px;
}
.contact .ctn-infocontact p {
    color: #011c52;
    margin-top: 10px;
    margin-bottom: 10px;
}
.contact .ctn-infocontact a {
    font-weight: 700;
    text-decoration: underline;
}
.contact .form-img-ctn {
    position: absolute;
    background-image: url(./media/swimmingpool.jpg);
    background-size: cover;
    height: 100%;
    width: 40%;
    right: 0px;
    top: 0;
}
/* end contact section style */
/* start global form style */
form > p {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 15px;
}
form.wpcf7-form input {
    border: none;
    background-color: white;
    border-radius: 15px;
    height: 45px;
    padding-left: 15px;
    font-size: 18px;
    max-width: 287px;
    width: 100%;
}
input,
select {
    border: none;
    background-color: white;
    border-radius: 15px;
    padding: 8px 15px;
}
.select2-container .select2-selection--single {
    height: auto !important;
}
.select2-container--default .select2-selection--single {
    border: none !important;
    border-radius: 15px !important;
    padding: 8px 15px !important;
    font-size: 13.3333px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
    right: 6px !important;
}
textarea {
    border: none;
    background-color: white;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    border-radius: 15px;
    height: 180px;
    box-sizing: border-box;
}
span:has(> textarea) {
    width: 100%;
}
/* end global form style */
/* start footer style */
footer {
    position: relative;
    background-color: #011c52;
    color: white;
    padding-top: 40px;
    padding-bottom: 40px;
}
footer .boxed {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
footer .menu-footer {
    display: flex;
    gap: 10px 30px;
    flex-wrap: wrap;
}
footer .menu-footer a {
    color: white;
    text-transform: uppercase;
    font-size: 16px;
}
footer .footer-btn {
    position: absolute;
    top: -40px;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button.alt,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button.alt {
    background-color: #011c52 !important;
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: #abbee3 !important;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: #88a9e7 !important;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom: 1em solid #88a9e7 !important;
}

.payment_box.payment_method_mame_twint p {
    color: white;
}

.home-slider {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
}
.home-slider .slide {
    display: flex;
    width: 100%;
    flex-shrink: 0;
}

.home-slider .slide:first-child {
    transition: margin 1.5s ease-in-out;
    margin-left: calc(var(--current-slide-position) * -100%);
}

/* end footer style */
@media screen and (max-width: 1140px) {
    .full-card {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 30px;
    }
    .full-card .col-left,
    .full-card .col-right {
        max-width: 100%;
    }
    .full-card .col-right img {
        max-width: 350px;
    }
}
@media screen and (max-width: 1040px) {
    .category-tool .full-card {
        padding: 40px 20px 40px 20px;
    }
    .category-tool .full-card .col-left .btn-ctn {
        margin-top: 0px;
    }
    header .high-bar a {
        font-weight: 500;
        font-size: 15px;
    }

    .form-img-ctn,
    .main-navbar .menu-ctn,
    .main-navbar .lang-cart-ctn .lang-selector {
        display: none;
    }
    .main-navbar .lang-cart-ctn .burger-ico {
        display: block;
    }
    header .info-nav-ctn,
    header .main-navbar,
    .main-ctn,
    .page-content {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
    .boxed {
        padding-left: 0px;
        padding-right: 0px;
    }
    .pp-menu {
        transition:
            visibility 0s,
            opacity 0.5s linear;
        visibility: hidden;
        opacity: 0;
        /* menu display for mobile -- change when JS toggle it */
        position: fixed;
        z-index: 10;
        background-color: white;
        width: 100%;
        border-radius: 0px 0px 15px 15px;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
        top: 99px;
        background: rgba(255, 255, 255, 0.8);
        box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.11);
        backdrop-filter: blur(10.5px);
        -webkit-backdrop-filter: blur(10.5px);
    }
    .pp-menu .menu-ctn {
        flex-direction: column;
        gap: 15px;
    }
    .pp-menu .menu-ctn .swtich-lang-ctn {
        margin-top: 15px;
        margin-bottom: 30px;
        font-weight: 400;
    }
    .pp-menu .menu-ctn .swtich-lang-ctn .active {
        font-weight: 600;
    }
    h1 {
        font-size: 38px;
    }
    h2,
    .home-slider .slide .sub-title {
        font-size: 30px;
    }
    h3 {
        font-size: 24px;
    }
    h4 {
        font-size: 18px;
    }
    p,
    a,
    ul,
    li {
        font-size: 16px;
    }
    .btn,
    button {
        font-size: 16px;
    }
    .about-header-ctn,
    .about-grid,
    .about,
    .footer-ctn {
        flex-direction: column !important;
    }
    .contact .form-col {
        width: 100%;
        margin-left: 0px;
    }
    footer .menu-footer {
        margin-top: 20px;
        gap: 10px;
    }
    input,
    textarea {
        max-width: 100%;
    }
    .product-content {
        flex-direction: column-reverse;
    }
    .product-content .col-left,
    .product-content .col-right {
        width: 100%;
    }
    .contact-content .two-col {
        flex-direction: column;
        gap: 30px;
    }
    .contact-content .two-col .col-left {
        width: 100%;
        min-width: auto;
    }
    .about {
        align-items: flex-start;
    }
    .about .about-header-ctn h2 {
        width: 100%;
        text-align: left;
    }
    .about .about-header-ctn .btn-ctn {
        width: 100%;
        margin-top: 10px;
    }
    details summary {
        padding-right: 50px;
    }
    details summary h4 {
        font-size: 16px;
    }
    details summary .add-cart-btn {
        display: none;
    }
    details summary::after {
        right: 20px;
    }

    .home-slider .ctrl-ctn {
        bottom: 100px;
    }
}
@media screen and (min-width: 720px) and (max-width: 1200px) {
    .main-ctn,
    .main-navbar {
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
    header .menu-ctn {
        gap: 20px;
    }
    header .lang-cart-ctn {
        gap: 20px;
    }
    .contact {
        align-items: center;
    }
    .contact .form-col {
        margin-left: 0px;
    }
    .contact .form-img-ctn {
        display: none;
    }
    .product-content {
        flex-direction: column-reverse;
    }
    .product-content .col-left,
    .product-content .col-right {
        width: 100%;
    }
    .contact-content .two-col {
        flex-direction: column;
        gap: 30px;
    }
}

/* FAQ */
.faq {
}
.faq .boxed {
    margin: auto;
    box-sizing: border-box;
}
.faq .sub-title {
    font-weight: 700;
    font-size: 38px;
    color: #011c52;
    height: 48px;
    margin-bottom: 35px;
}

.faq .faq-accordion {
    margin-bottom: 35px;
    border-radius: 15px;
    overflow: hidden;
    background-color: white;
    transition: 0.5s ease-in-out filter;
    
}
.faq .faq-accordion:last-child {
    margin-bottom: 0;
}

.faq .faq-accordion .accordion-title {
    background-color: #ffd80b;
    color: #011c52;
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 20px;
    padding: 20px 0;
    padding-right: 60px;
    padding-left: 20px;
    border-radius: 15px;
}
.faq .faq-accordion .accordion-title::after {
    content: "";
    position: absolute;
    height: 11px;
    width: 22px;
    right: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform ease-in-out 0.5s;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="15" viewBox="0 0 26 15" fill="none"><path d="M24 2L13 13L2 2" stroke="%230140BB" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.faq .faq-accordion .accordion-collapse {
    display: grid;
    grid-template-rows: 0fr;
    background-color: white;
    padding: 00px;
    transition: 0.5s ease-in-out grid-template-rows, 0.5s ease-in-out padding;
}

.faq .faq-accordion .accordion-body {
    overflow: hidden;
}

.faq .faq-accordion:not(.open):hover {
    filter: drop-shadow(0px 0px 16px rgba(255, 216, 11, 0.66));
}
.faq .faq-accordion.open .accordion-title::after {
    transform: rotate(180deg);
}
.faq .faq-accordion.open .accordion-collapse {
    grid-template-rows: 1fr;
    padding: 30px;
}