.pricing {
    background-color: #f8f8f8; 
    background-image: url('../i/bg-pricing.png'); 
    background-repeat: no-repeat; 
    background-size: 100% 100%; 
    background-position: bottom;
}

@media only screen and (max-width: 767px) {
    .pricing {
        background-size: auto 100%;
        background-position: bottom;
    }
}

.responsive-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.responsive-grid .grid-item {
    padding: 1.5rem;
}

.responsive-grid .grid-item:first-child {
    border-bottom: 1px solid #000;
}

.responsive-grid .grid-item:nth-child(3) {
    border-left: 1px solid #000;
}

.responsive-grid .item-2 {
    grid-column-start: 1;
    grid-row-start: 2;
}

.responsive-grid .item-3 {
    grid-row: span 2 / span 2;
    grid-column-start: 2;
    grid-row-start: 1;
}

@media only screen and (max-width: 767px) {
    .responsive-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .responsive-grid .grid-item {
        grid-column-start: auto;
        grid-row-start: auto;
    }

    .responsive-grid .item-3 {
        grid-row: auto;
        border-left: none;
    }

    .responsive-grid .grid-item:nth-child(3) {
        border-left: 0px;
        border-top: 1px solid #000;
    }
}

li {
    list-style: none;
    display: flex;
    align-items: center;
    line-height: 30px;
}

li::before {
    content: '';
    display: inline-block;
    margin-right: 10px;
    height: 15px;
    width: 15px;
    background-image: url('../i/list.png');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.faq-container {
    width: 50%;
    margin: 0 auto;
    background: #000;
    border-radius: 4px;
}

.faq-heading {
    font-weight: 400;
    font-size: 19px;
    color: #fff;
    white-space: normal; /* Ensure text wraps */
    word-wrap: break-word; /* Prevent long words from being cut off */
    line-height: 1.4;
    height: 70px;
    display: flex;
    align-items: center;
}

.faq-text {
    font-weight: 400;
    color: #919191;
    width: 95%;
    padding-left: 20px;
    margin-bottom: 30px;
}

.faq label {
    display: block;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    height: 56px;
    padding-top: 1px;
    background-color: #000;
    border-bottom: 1px solid #E1E1E1;
}

.faq input[type="checkbox"] {
    display: none;
}

.faq .faq-arrow {
    width: 10px;
    height: 10px;
    transition: transform 0.8s;
    transform: rotate(45deg);
    border-top: 2px solid rgba(255, 255, 255, 0.5);
    border-right: 2px solid rgba(255, 255, 255, 0.5);
    float: right;
    position: absolute;
    top: 25px;
    right: 27px;
}

.faq input[type="checkbox"]:checked+label>.faq-arrow {
    transform: rotate(135deg);
}

.faq input[type="checkbox"]:checked+label {
    background: rgba(0, 0, 0, 0);
    color: #4f7351;
    height: auto;
    transition: height 0.8s;
}

.faq input[type="checkbox"]:not(:checked)+label {
    transition: height 0.8s;
    height: 60px;
}

@media (max-width: 767px) {
    .faq-container {
        width: 90%;
    }
    .faq-heading {
        font-size: 16px;
        text-indent: 0;
        width: 85%;
    }

    .faq input[type="checkbox"]:not(:checked)+label {
        height: 70px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .faq-container {
        width: 80%;
    }
}