.th-footer-builder {
    background-color: var(--th-footer-bg, var(--th-bg-secondary, #f8f9fa));
    color: var(--th-footer-text, var(--th-text-color, #333));
    padding: var(--th-footer-padding, var(--th-spacing-xl, 2rem) 0);
    font-family: var(--th-font-family, inherit);
    line-height: var(--th-line-height-base, 1.5);
}

.th-footer-row {
    margin-bottom: var(--th-footer-row-spacing, var(--th-spacing-base, 1rem));
}

.th-footer-column {
    margin-bottom: var(--th-footer-column-spacing, var(--th-spacing-base, 1rem));
}

.th-footer-title {
    font-size: var(--th-footer-title-size, var(--th-font-size-lg, 1.2rem));
    font-weight: var(--th-footer-title-weight, var(--th-font-weight-semibold, 600));
    margin-bottom: var(--th-footer-title-margin, var(--th-spacing-base, 1rem));
    color: var(--th-footer-title-color, var(--th-heading-color, var(--th-text-color, #333)));
    line-height: var(--th-line-height-tight, 1.25);
}

.th-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.th-footer-links li {
    margin-bottom: var(--th-footer-link-spacing, var(--th-spacing-sm, 0.5rem));
}

.th-footer-links a {
    color: var(--th-footer-link-color, var(--th-link-color, var(--th-text-muted, #666)));
    text-decoration: none;
    transition: color var(--th-transition-base, 0.3s ease);
    font-size: var(--th-footer-link-size, var(--th-font-size-sm, 0.875rem));

    &:hover,
    &:focus {
        color: var(--th-footer-link-hover-color, var(--th-link-hover-color, var(--th-primary-color, #007bff)));
        text-decoration: var(--th-link-hover-decoration, underline);
    }
}

.th-social-icons {
    display: flex;
    gap: var(--th-social-icon-spacing, var(--th-spacing-sm, 0.5rem));
    flex-wrap: wrap;
}

.th-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--th-social-icon-size, 40px);
    height: var(--th-social-icon-size, 40px);
    background-color: var(--th-social-icon-bg, var(--th-secondary-color, #333));
    color: var(--th-social-icon-color, var(--th-text-on-dark, #fff));
    text-decoration: none;
    transition: all var(--th-transition-base, 0.3s ease);
    font-size: var(--th-social-icon-font-size, var(--th-font-size-base, 1rem));

    &:hover,
    &:focus {
        background-color: var(--th-social-icon-hover-bg, var(--th-primary-color, #007bff));
        color: var(--th-social-icon-hover-color, var(--th-text-on-primary, #fff));
        transform: var(--th-social-icon-hover-transform, translateY(-2px));
    }
}

.th-footer-image {
    max-width: 100%;
    height: auto;
    margin-bottom: var(--th-footer-image-spacing, var(--th-spacing-sm, 0.5rem));
    border-radius: var(--th-image-border-radius, var(--th-border-radius-base, 0.375rem));
}

.th-image-logo .th-footer-image,
.th-image-with-text .th-footer-image {
    max-height: 80px;
    width: auto;
    max-width: 250px;
}

.th-newsletter-form .form-control {
    padding-right: 40px;
}

.th-newsletter-input-wrapper {
    position: relative;
}

.th-newsletter-submit-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: var(--th-footer-text, #333);
    z-index: 2;
}

.th-newsletter-input-wrapper .form-control {
    width: 100%;
}

.th-newsletter-form {
    .input-group {
        margin-top: var(--th-newsletter-form-spacing, var(--th-spacing-base, 1rem));
    }

    .form-control {
        border-color: var(--th-input-border-color, var(--th-border-color, #e9ecef));
        background-color: var(--th-input-bg, var(--th-bg-color, #fff));
        color: var(--th-input-text-color, var(--th-text-color, #333));

        &:focus {
            border-color: var(--th-input-focus-border-color, var(--th-primary-color, #007bff));
            box-shadow: 0 0 0 0.2rem var(--th-input-focus-shadow, rgba(0, 123, 255, 0.25));
        }
    }
}

.th-rich-text {
    color: var(--th-rich-text-color, var(--th-text-color, #333));
    font-size: var(--th-rich-text-size, var(--th-font-size-sm, 0.875rem));
    line-height: var(--th-rich-text-line-height, var(--th-line-height-relaxed, 1.6));

    h1, h2, h3, h4, h5, h6 {
        color: var(--th-rich-text-heading-color, var(--th-heading-color, var(--th-text-color, #333)));
        margin-bottom: var(--th-rich-text-heading-margin, var(--th-spacing-sm, 0.5rem));
    }

    p {
        margin-bottom: var(--th-rich-text-paragraph-margin, var(--th-spacing-sm, 0.5rem));
    }

    a {
        color: var(--th-rich-text-link-color, var(--th-link-color, var(--th-primary-color, #007bff)));

        &:hover,
        &:focus {
            color: var(--th-rich-text-link-hover-color, var(--th-link-hover-color, var(--th-primary-hover-color, #0056b3)));
        }
    }
}

/* Responsive breakpoints using theme variables */
@media (max-width: 768px) {
    .th-footer-builder {
        padding: var(--th-footer-mobile-padding, var(--th-spacing-lg, 1.5rem) 0);
        text-align: var(--th-footer-mobile-text-align, center);
    }

    .th-footer-column {
        margin-bottom: var(--th-footer-mobile-column-spacing, var(--th-spacing-lg, 1.5rem));
    }

    .th-social-icons {
        justify-content: start;
    }

    .th-footer-title {
        font-size: var(--th-footer-mobile-title-size, var(--th-font-size-base, 1rem));
    }
}

@media (max-width: 576px) {
    .th-footer-builder {
        padding: var(--th-footer-xs-padding, var(--th-spacing-base, 1rem) 0);
    }

    .th-social-icons {
        gap: var(--th-social-icon-xs-spacing, var(--th-spacing-xs, 0.25rem));
    }

    .th-social-icon {
        width: var(--th-social-icon-xs-size, 36px);
        height: var(--th-social-icon-xs-size, 36px);
        font-size: var(--th-social-icon-xs-font-size, var(--th-font-size-sm, 0.875rem));
    }
}

/* Dark mode support using theme variables */
@media (prefers-color-scheme: dark) {
    .th-footer-builder {
        background-color: var(--th-footer-dark-bg, var(--th-dark-bg, #1a1a1a));
        color: var(--th-footer-dark-text, var(--th-dark-text, #e0e0e0));

        .th-footer-title {
            color: var(--th-footer-dark-title-color, var(--th-dark-heading-color, var(--th-dark-text, #e0e0e0)));
        }

        .th-footer-links a {
            color: var(--th-footer-dark-link-color, var(--th-dark-link-color, var(--th-dark-text-muted, #999)));

            &:hover,
            &:focus {
                color: var(--th-footer-dark-link-hover-color, var(--th-dark-link-hover-color, var(--th-primary-color, #007bff)));
            }
        }

        .th-rich-text {
            color: var(--th-rich-text-dark-color, var(--th-dark-text, #e0e0e0));

            h1, h2, h3, h4, h5, h6 {
                color: var(--th-rich-text-dark-heading-color, var(--th-dark-heading-color, var(--th-dark-text, #e0e0e0)));
            }
        }
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .th-footer-builder {
        .th-footer-links a {
            text-decoration: underline;
        }

        .th-social-icon {
            border: 2px solid var(--th-high-contrast-border, var(--th-text-color, #333));
        }
    }
}
.th-contact-info {
    margin-top: 1rem;
}

.th-contact-info p {
    margin: 0.5rem 0;
    display: flex;
    align-items: center;
}

.th-contact-info i {
    margin-right: 0.75rem;
    font-size: 1.2em;
    width: 20px;
    text-align: center;
}

.th-social-svg-whatsapp {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='currentColor' d='M20.0089 3.86837C22.1652 6.02462 23.5 8.84828 23.5 11.9286C23.5 18.192 18.2634 23.326 11.9487 23.326C10.0491 23.326 8.20089 22.8126 6.5067 21.9398L0.5 23.48L2.09152 17.576C1.11607 15.8818 0.551339 13.9309 0.551339 11.8773C0.551339 5.61391 5.68527 0.47998 11.9487 0.47998C15.029 0.47998 17.904 1.71212 20.0089 3.86837ZM11.9487 21.3751C17.1853 21.3751 21.5491 17.1139 21.5491 11.9286C21.5491 9.36168 20.471 7.00007 18.6741 5.20319C16.8772 3.40632 14.5156 2.43087 12 2.43087C6.76339 2.43087 2.50223 6.69203 2.50223 11.8773C2.50223 13.6742 3.01562 15.4197 3.93973 16.9599L4.19643 17.3193L3.22098 20.8103L6.81473 19.8349L7.12277 20.0402C8.61161 20.913 10.2545 21.3751 11.9487 21.3751ZM17.1853 14.2902C17.442 14.4443 17.6473 14.4956 17.6987 14.6496C17.8013 14.7523 17.8013 15.317 17.5446 15.9844C17.2879 16.6519 16.1585 17.2679 15.6451 17.3193C14.721 17.4733 14.0022 17.4219 12.2054 16.6005C9.33036 15.3684 7.48214 12.4934 7.32812 12.3394C7.17411 12.134 6.19866 10.7992 6.19866 9.36168C6.19866 7.97552 6.91741 7.30811 7.17411 7.00007C7.4308 6.69203 7.73884 6.64069 7.9442 6.64069C8.09821 6.64069 8.30357 6.64069 8.45759 6.64069C8.66295 6.64069 8.8683 6.58936 9.125 7.15409C9.33036 7.71882 9.94643 9.10498 9.99777 9.259C10.0491 9.41302 10.1004 9.56703 9.99777 9.77239C9.48438 10.8505 8.8683 10.7992 9.17634 11.3126C10.3058 13.2121 11.3839 13.8795 13.0781 14.701C13.3348 14.855 13.4888 14.8036 13.6942 14.6496C13.8482 14.4443 14.4129 13.7769 14.567 13.5202C14.7723 13.2121 14.9777 13.2635 15.2344 13.3661C15.4911 13.4688 16.8772 14.1362 17.1853 14.2902Z'/></svg>") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.th-social-svg-facebook {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M23.625 12.0503C23.625 17.8628 19.3594 22.6909 13.7812 23.5347V15.4253H16.5L17.0156 12.0503H13.7812V9.89404C13.7812 8.95654 14.25 8.06592 15.7031 8.06592H17.1562V5.20654C17.1562 5.20654 15.8438 4.97217 14.5312 4.97217C11.9062 4.97217 10.1719 6.61279 10.1719 9.51904V12.0503H7.21875V15.4253H10.1719V23.5347C4.59375 22.6909 0.375 17.8628 0.375 12.0503C0.375 5.62842 5.57812 0.425293 12 0.425293C18.4219 0.425293 23.625 5.62842 23.625 12.0503Z' fill='%23EBE9EF'/></svg>") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.th-social-svg-instagram {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'><path d='M11.0234 5.56592C13.9766 5.56592 16.4141 8.00342 16.4141 10.9565C16.4141 13.9565 13.9766 16.3472 11.0234 16.3472C8.02344 16.3472 5.63281 13.9565 5.63281 10.9565C5.63281 8.00342 8.02344 5.56592 11.0234 5.56592ZM11.0234 14.4722C12.9453 14.4722 14.4922 12.9253 14.4922 10.9565C14.4922 9.03467 12.9453 7.48779 11.0234 7.48779C9.05469 7.48779 7.50781 9.03467 7.50781 10.9565C7.50781 12.9253 9.10156 14.4722 11.0234 14.4722ZM17.8672 5.37842C17.8672 4.67529 17.3047 4.11279 16.6016 4.11279C15.8984 4.11279 15.3359 4.67529 15.3359 5.37842C15.3359 6.08154 15.8984 6.64404 16.6016 6.64404C17.3047 6.64404 17.8672 6.08154 17.8672 5.37842ZM21.4297 6.64404C21.5234 8.37842 21.5234 13.5815 21.4297 15.3159C21.3359 17.0034 20.9609 18.4565 19.7422 19.7222C18.5234 20.9409 17.0234 21.3159 15.3359 21.4097C13.6016 21.5034 8.39844 21.5034 6.66406 21.4097C4.97656 21.3159 3.52344 20.9409 2.25781 19.7222C1.03906 18.4565 0.664062 17.0034 0.570312 15.3159C0.476562 13.5815 0.476562 8.37842 0.570312 6.64404C0.664062 4.95654 1.03906 3.45654 2.25781 2.23779C3.52344 1.01904 4.97656 0.644043 6.66406 0.550293C8.39844 0.456543 13.6016 0.456543 15.3359 0.550293C17.0234 0.644043 18.5234 1.01904 19.7422 2.23779C20.9609 3.45654 21.3359 4.95654 21.4297 6.64404ZM19.1797 17.144C19.7422 15.7847 19.6016 12.5034 19.6016 10.9565C19.6016 9.45654 19.7422 6.17529 19.1797 4.76904C18.8047 3.87842 18.1016 3.12842 17.2109 2.80029C15.8047 2.23779 12.5234 2.37842 11.0234 2.37842C9.47656 2.37842 6.19531 2.23779 4.83594 2.80029C3.89844 3.17529 3.19531 3.87842 2.82031 4.76904C2.25781 6.17529 2.39844 9.45654 2.39844 10.9565C2.39844 12.5034 2.25781 15.7847 2.82031 17.144C3.19531 18.0815 3.89844 18.7847 4.83594 19.1597C6.19531 19.7222 9.47656 19.5815 11.0234 19.5815C12.5234 19.5815 15.8047 19.7222 17.2109 19.1597C18.1016 18.7847 18.8516 18.0815 19.1797 17.144Z' fill='%23EBE9EF'/></svg>") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.th-social-svg-youtube {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='26' height='19' viewBox='0 0 26 19' fill='none'><path d='M25.2578 3.83936C25.8203 5.80811 25.8203 10.0269 25.8203 10.0269C25.8203 10.0269 25.8203 14.1987 25.2578 16.2144C24.9766 17.3394 24.0859 18.1831 23.0078 18.4644C20.9922 18.98 13.0234 18.98 13.0234 18.98C13.0234 18.98 5.00781 18.98 2.99219 18.4644C1.91406 18.1831 1.02344 17.3394 0.742188 16.2144C0.179688 14.1987 0.179688 10.0269 0.179688 10.0269C0.179688 10.0269 0.179688 5.80811 0.742188 3.83936C1.02344 2.71436 1.91406 1.82373 2.99219 1.54248C5.00781 0.97998 13.0234 0.97998 13.0234 0.97998C13.0234 0.97998 20.9922 0.97998 23.0078 1.54248C24.0859 1.82373 24.9766 2.71436 25.2578 3.83936ZM10.3984 13.8237L17.0547 10.0269L10.3984 6.22998V13.8237Z' fill='%23EBE9EF'/></svg>") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.th-social-svg-tiktok {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M16.8217 5.1344C16.0886 4.29394 15.6479 3.19805 15.6479 2H14.7293M16.8217 5.1344C17.4898 5.90063 18.3944 6.45788 19.4245 6.67608C19.7446 6.74574 20.0786 6.78293 20.4266 6.78293V10.2191C18.645 10.2191 16.9932 9.64801 15.6477 8.68211V15.6707C15.6477 19.1627 12.8082 22 9.32386 22C7.50043 22 5.85334 21.2198 4.69806 19.98C3.64486 18.847 2.99994 17.3331 2.99994 15.6707C2.99994 12.2298 5.75592 9.42509 9.17073 9.35079M16.8217 5.1344C16.8039 5.12276 16.7861 5.11101 16.7684 5.09914M6.9855 17.3517C6.64217 16.8781 6.43802 16.2977 6.43802 15.6661C6.43802 14.0734 7.73249 12.7778 9.32394 12.7778C9.62087 12.7778 9.9085 12.8288 10.1776 12.9124V9.40192C9.89921 9.36473 9.61622 9.34149 9.32394 9.34149C9.27287 9.34149 8.86177 9.36884 8.81073 9.36884M14.7244 2H12.2097L12.2051 15.7775C12.1494 17.3192 10.8781 18.5591 9.32386 18.5591C8.35878 18.5591 7.50971 18.0808 6.98079 17.3564' stroke='%23000000' stroke-linejoin='round'/></svg>") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.th-social-svg-icon svg {
    fill: #fff;
    width: 24px;
    height: 24px;
}
.th-gallery-image {
    display: block;
}

.th-text-content {
    color: white;
}

.th-buttons-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.th-btn {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: var(--th-btn-padding, 0.5rem 1rem);
    text-decoration: none;
    border-radius: var(--th-btn-border-radius, var(--th-border-radius-base, 0.375rem));
    font-size: var(--th-btn-font-size, var(--th-font-size-sm, 0.875rem));
    font-weight: var(--th-btn-font-weight, var(--th-font-weight-medium, 500));
    transition: all var(--th-transition-base, 0.3s ease);
    line-height: var(--th-btn-line-height, 1.2);
    text-align: left;
    min-width: var(--th-btn-min-width, 120px);
    border: 1px solid transparent;

    &:hover,
    &:focus {
        text-decoration: none;
        transform: var(--th-btn-hover-transform, translateY(-1px));
        box-shadow: var(--th-btn-hover-shadow, 0 2px 4px rgba(0, 0, 0, 0.1));
    }

    &:active {
        transform: var(--th-btn-active-transform, translateY(0));
        box-shadow: var(--th-btn-active-shadow, 0 1px 2px rgba(0, 0, 0, 0.1));
    }
}

.th-btn-arrow {
    width: 16px;
    height: 16px;
    transition: transform 0.2s ease;
}

.th-btn:hover .th-btn-arrow {
    transform: translateX(4px);
}

/* Responsive button styles */
@media (max-width: 768px) {
    .th-buttons-container {
        justify-content: var(--th-buttons-mobile-align, center);
        gap: var(--th-button-mobile-spacing, var(--th-spacing-xs, 0.25rem));
    }

    .th-btn {
        min-width: var(--th-btn-mobile-min-width, 100px);
        font-size: var(--th-btn-mobile-font-size, var(--th-font-size-xs, 0.75rem));
        padding: var(--th-btn-mobile-padding, 0.375rem 0.75rem);
    }
}

/* Newsletter message alerts */
.th-newsletter-message {
    margin-bottom: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    line-height: 1.4;
}

.th-newsletter-message.alert-success {
    background-color: var(--th-success-bg, #d4edda);
    border: 1px solid var(--th-success-color, #28a745);
    color: var(--th-success-color, #155724);
}

.th-newsletter-message.alert-danger {
    background-color: var(--th-danger-bg, #f8d7da);
    border: 1px solid var(--th-danger-color, #dc3545);
    color: var(--th-danger-color, #721c24);
}

.th-newsletter-description {
    margin-bottom: 1rem;
    color: var(--th-text-muted, #6c757d);
    font-size: 0.875rem;
    line-height: 1.4;
}

/* GASTRO-MOD 2026-05-17: GDPR Settings rich-text in footer column — strip gdprpro pill styling, sit flush under USEFUL LINKS list */
footer#footer .th-footer-element.th-rich-text:has(> p.show-gdpr-modal:only-child),
footer#footer .th-footer-element.th-rich-text:has(> p > .show-gdpr-modal) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
footer#footer .th-footer-element.th-rich-text .show-gdpr-modal,
footer#footer .th-footer-element.th-rich-text a.show-gdpr-modal {
    background: none !important;
    background-color: transparent !important;
    color: inherit !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline !important;
    max-height: none !important;
    font: inherit !important;
    text-decoration: none;
    cursor: pointer;
}
footer#footer .th-footer-element.th-rich-text .show-gdpr-modal:hover,
footer#footer .th-footer-element.th-rich-text a.show-gdpr-modal:hover {
    color: inherit !important;
    text-decoration: underline;
    background: none !important;
}

/* GASTRO-MOD 2026-05-17: mobile footer accordion + .ro-like compact layout */
@media (max-width: 767px) {
    /* GDPR Settings rich-text sits inside the USEFUL LINKS accordion: hide when collapsed, show flush when open */
    footer#footer .th-footer-element.th-link-list:not(.th-open) + .th-footer-element.th-rich-text:has(.show-gdpr-modal) {
        display: none !important;
    }
    footer#footer .th-footer-element.th-link-list.th-open:has(+ .th-footer-element.th-rich-text .show-gdpr-modal) {
        margin-bottom: 0 !important;
    }
    footer#footer .th-footer-element.th-link-list.th-open + .th-footer-element.th-rich-text:has(.show-gdpr-modal) {
        margin-top: 0 !important;
        padding-top: 0;
    }
    footer#footer .th-footer-element.th-link-list.th-open + .th-footer-element.th-rich-text:has(.show-gdpr-modal) p {
        margin: 0 !important;
    }

    footer#footer .th-footer-bu { padding: 0 8px; }
    footer#footer .th-footer-row { padding: 0; }
    footer#footer .th-footer-column { margin-bottom: 0 !important; padding: 0 8px; }

    footer#footer .th-footer-element {
        margin-bottom: 18px;
        text-align: center;
    }

    footer#footer .th-footer-title {
        font-size: 21px !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        letter-spacing: .3px;
        margin: 0 0 10px;
        text-align: center;
    }

    footer#footer .th-footer-element.th-link-list .th-footer-title,
    footer#footer .th-footer-element.th-newsletter-form .th-footer-title {
        cursor: pointer;
        position: relative;
        padding: 16px 36px !important;
        margin: 0;
        border-bottom: 1px solid rgba(0, 0, 0, .08);
    }
    footer#footer .th-footer-element.th-link-list .th-footer-title::after,
    footer#footer .th-footer-element.th-newsletter-form .th-footer-title::after {
        content: '+';
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 26px;
        line-height: 1;
        font-weight: 400;
    }
    footer#footer .th-footer-element.th-link-list.th-open .th-footer-title::after,
    footer#footer .th-footer-element.th-newsletter-form.th-open .th-footer-title::after {
        content: '−';
    }
    footer#footer .th-footer-element.th-link-list .th-footer-links,
    footer#footer .th-footer-element.th-newsletter-form > *:not(.th-footer-title) {
        display: none;
    }
    footer#footer .th-footer-element.th-link-list.th-open .th-footer-links,
    footer#footer .th-footer-element.th-newsletter-form.th-open > *:not(.th-footer-title) {
        display: block;
    }

    footer#footer .th-footer-links {
        list-style: none;
        padding: 12px 0 6px;
        margin: 0;
        text-align: center;
    }
    footer#footer .th-footer-links li { padding: 6px 0; margin: 0; }
    footer#footer .th-footer-links a { font-size: 15px; line-height: 1.4; }


    footer#footer .th-footer-element.th-rich-text p,
    footer#footer .th-newsletter-description {
        font-size: 14.5px;
        line-height: 1.55;
        text-align: center;
        margin: 8px 0;
    }
    footer#footer .th-footer-element.th-rich-text .icons {
        justify-content: center;
        display: flex;
        gap: 10px;
    }

    footer#footer .th-newsletter-input-wrapper { position: relative; padding: 0 18px; }
    footer#footer .th-newsletter-submit-btn { right: 24px !important; }

    /* After-sales: full-width pleasant buttons */
    footer#footer .th-footer-element.th-buttons {
        margin: 0 !important;
        padding: 0 16px !important;
        box-sizing: border-box !important;
    }
    footer#footer .th-footer-element.th-buttons .th-buttons-container {
        gap: 10px !important;
        padding: 8px 0 0 !important;
        align-items: stretch !important;
        flex-direction: column;
    }
    footer#footer .th-footer-element.th-buttons .th-btn {
        width: 100% !important;
        max-width: none !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        border-radius: 4px !important;
        min-height: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    footer#footer .th-footer-row + .th-footer-row {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px solid rgba(0, 0, 0, .08);
    }

    footer#footer .th-footer-element.th-image-gallery {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        justify-content: center;
        align-items: center;
    }
    footer#footer .th-gallery-image { max-width: 110px; height: auto; }
}