        .input {
            background-image: url('<?= get_template_directory_uri(); ?>/images/pages/Lupa.png');
            background-repeat: no-repeat;
            background-position: center right 1rem;
        }

        .input {
            width: 36rem;
            scroll-padding-inline: 160px;
            border-radius: 9999px;
            border-style: solid;
            border-width: 2px;
            border-color: var(--color-purple);
            padding-block: calc(0.25rem * 2);
            padding-inline: calc(0.25rem * 4);
            outline: none;
        }

        .input::placeholder {
            color: #9ca3af;
        }

        .input:focus {
            border-color: var(--color-purple);
            box-shadow: 0 0 0 2px rgba(168, 85, 247, 0.5);
        }

        .associados.bgwhiteblue {
            position: relative;
        }

        .associados.bgwhiteblue:after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background-image: url('<?php echo get_template_directory_uri(); ?>/images/paint-1.png');
            background-repeat: no-repeat;
            background-size: unset;
            background-position: right center;
            transform: rotate(180deg);
        }

        .associados {
            position: relative;
        }

        .associados:after {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            background-image: url('<?php echo get_template_directory_uri(); ?>/images/paint-2.png');
            background-repeat: no-repeat;
            background-size: unset;
            background-position: left center;
            transform: rotate(180deg);
        }

        @media (max-width: 480px) {
            .associados:after {
                display: none;
            }

            .input {
                max-width: 14rem;
            }
        }

        .banner {
            height: 235px;
            border-radius: 20px;
        }

        .associados .card-text {
            font-size: 13px;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .swiper-fabricantes {
            width: 100% !important;
            height: 100% !important;
        }

        .swiper-slide {
            display: flex;
            height: auto;
        }

        .swiper-wrapper {
            display: flex !important;
            flex-wrap: nowrap !important;
        }

        .swiper-slide {
            flex-shrink: 0 !important;
        }

        .swiper {
            overflow-x: hidden;
        }

        @media (min-width: 480px) {
            .swiper-slide {
                max-width: 350px;
                max-height: 433px;
            }
        }

        .modal {
            z-index: 1060 !important;
        }

        .modal-backdrop {
            z-index: 1050 !important;
        }

        .modal-dialog {
            margin: 0 auto;
        }

        .button {
            position: relative;
            display: flex;
            height: 3rem;
            width: 3rem;
            align-items: center;
            justify-content: center;
            border-radius: 9999px;
            background-color: #66589E;
            transition: transform 150ms;
            border: none;
            cursor: pointer;
        }

        .button:hover {
            background-color: #66589E;
        }

        .button:focus {
            outline: none;
        }

        .button:active {
            transform: scale(0.95);
        }

        .inner-ring {
            position: absolute;
            height: 2rem;
            width: 2rem;
            border-radius: 9999px;
            border: 2px solid rgba(255, 255, 255, 0.6);
        }

        .x-icon {
            position: relative;
            height: 1.25rem;
            width: 1.25rem;
        }

        .x-line-1 {
            position: absolute;
            top: 50%;
            height: 0.125rem;
            width: 100%;
            transform: translateY(-50%) rotate(45deg);
            border-radius: 0.25rem;
            background-color: white;
        }

        .x-line-2 {
            position: absolute;
            top: 50%;
            height: 0.125rem;
            width: 100%;
            transform: translateY(-50%) rotate(-45deg);
            border-radius: 0.25rem;
            background-color: white;
        }

        .btn-close-modal {
            z-index: 9999;
            position: absolute;
            opacity: 1;
            top: -20px;
            right: -20px;
        }

        .btn-close-modal:hover,
        .btn-close:hover {
            opacity: 1 !important;
        }

        .endereco, .telefone {
            position: relative;
        }

        .endereco:before {
            content: "\F3E7";
            font-family: "Bootstrap-icons";
            left: -25px;
            position: absolute;
            color: #66589E;
        }

        .telefone:before {
            content: "\F5B4";
            font-family: "Bootstrap-icons";
            left: -25px;
            position: absolute;
            color: #66589E;
        }

        /* RESPONSIVE FIX 1360x768 — associados.php
           Remove dependência dos atributos HTML width/height para permitir
           controle via CSS. object-fit é declarado aqui em vez de inline. */
        .assoc-card-img {
            width: 202px;
            height: 202px;
            object-fit: none;
            max-width: 100%;
        }
