.ubm-banner-wrapper { margin-bottom: 4vh; }
.ubm-banner-item { width: 100%; display: flex; align-items: center; justify-content: center}
.ubm-banner-slider { position: relative; overflow: hidden; }
.ubm-banner-slide { display: none; width: 100%; }
.ubm-banner-slide.active { display: block; animation: ubmFade 0.5s; }
@keyframes ubmFade { from { opacity: 0; } to { opacity: 1; } }
.ubm-banner-img { width: auto; height: auto; display: inline-block; margin: 0 auto; }

.ubm-banner-item a {
    position: relative;
}

.ubm-banner-item a::before {
    content: 'Publicidade';
    position: absolute;
    right: 5px;
    top: 5px;
    font-size: 12px;
    background: #f5f5f5;
    color: #1f1f1f;
    padding: 0.1rem 0.5rem;
    border-radius: 0.5rem;
    line-height: 1.2;
}

/* Responsive helpers */
@media (max-width: 767px) {
    .ubm-hide-mobile { display: none !important; }
}
@media (min-width: 768px) {
    .ubm-hide-desktop { display: none !important; }
}

/* Conteúdo de Marca Layout */
.ubm-conteudo-marca {
    margin-bottom: 20px;
}
.ubm-cm-container {
    max-width: 100%;
    margin: 0 auto;
    background: #f0f0f5;
    border-radius: 6px;
    overflow: hidden;
    padding-bottom: 1.5rem;
}
.ubm-cm-header {
    background: var(--color-principal);
    color: #fff;
    padding: 1.5rem 1rem;
    font-weight: bold;
    font-size: 14px;
    text-align: left;
    text-transform: uppercase;
    margin-bottom: 15px;
}
.ubm-cm-row {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    padding: 1rem;
}
.ubm-cm-logo {
    flex: 0 0 100px;
    height: 100px;
    background: #4a5d6b;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.ubm-cm-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.ubm-cm-main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ubm-cm-title {
    color: var(--color-principal);
    padding: 10px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 16px;
    min-height: 40px;
    display: flex;
    align-items: center;
}
.ubm-cm-url {
    margin-top: auto;
    text-align: left;
}
.ubm-cm-url a {
    background: var(--color-principal);
    color: #fff;
    padding: 8px 15px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: filter 0.2s;

    &:hover {
        background: var(--color-secundaria);
        color: #fff !important;
    }
}
.ubm-cm-url a:hover {
    filter: brightness(1.2);
}
.ubm-cm-url i {
    font-size: 14px;
}
.ubm-cm-description {
    text-align: left;
    color: var(--color-content-text);
    padding: 15px;
    border-radius: 4px;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.4;
}
.ubm-cm-description p { margin: 0 0 10px 0; }
.ubm-cm-description p:last-child { margin-bottom: 0; }

.ubm-cm-socials {
    display: flex;
    gap: 5px;
    justify-content: center;
    flex-wrap: wrap;
}
.ubm-cm-social-item {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ubm-cm-social-item a {
    color: var(--color-principal);
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.ubm-cm-social-item .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
}

@media (max-width: 480px) {
    .ubm-cm-row {
        flex-direction: column;
    }
    .ubm-cm-logo {
        flex: 0 0 100px;
        width: 100px;
        margin: 0 auto;
    }
}
