/* [B] Elementor Modern Share - Base Styles */

.bdw-ems-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Grid View */
.bdw-ems-container.is-grid {
    display: grid;
}

/* Base Button Style */
.bdw-ems-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    overflow: hidden;
    padding: 10px 20px; /* Fallback padding */
    border-radius: 6px; /* Fallback border radius */
    border: 2px solid transparent;
}

.bdw-ems-btn:hover {
    text-decoration: none;
}

/* Icon & Text Spacing */
.bdw-ems-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.bdw-ems-icon svg {
    width: 18px; /* Fallback size */
    height: 18px;
    fill: currentColor;
    transition: transform 0.3s ease;
}

.bdw-ems-btn-text {
    margin-left: 8px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1;
}

.bdw-ems-btn:hover .bdw-ems-icon svg {
    transform: scale(1.1);
}

/* ==========================================
   STYLE: SOLID
========================================== */
/* Official colors are set inline. Hover dims the color slightly. */
.bdw-ems-container.theme-official.style-solid .bdw-ems-btn:hover {
    filter: brightness(0.9);
}

/* Custom Colors */
.bdw-ems-container.theme-custom.style-solid .bdw-ems-btn {
    background-color: var(--ems-base);
    border-color: var(--ems-base);
    color: #ffffff;
}
.bdw-ems-container.theme-custom.style-solid .bdw-ems-btn:hover {
    background-color: var(--ems-hover);
    border-color: var(--ems-hover);
}

/* ==========================================
   STYLE: OUTLINE
========================================== */
.bdw-ems-container.theme-official.style-outline .bdw-ems-btn {
    background-color: transparent;
}
.bdw-ems-container.theme-official.style-outline .bdw-ems-btn:hover {
    /* To fill on hover, we use currentColor which holds the brand color */
    background-color: currentColor; 
}
/* When filling the background, we must ensure text/icon turns white */
.bdw-ems-container.theme-official.style-outline .bdw-ems-btn:hover .bdw-ems-btn-text,
.bdw-ems-container.theme-official.style-outline .bdw-ems-btn:hover .bdw-ems-icon svg {
    color: #ffffff;
    fill: #ffffff;
}

/* Custom Colors */
.bdw-ems-container.theme-custom.style-outline .bdw-ems-btn {
    background-color: transparent;
    border-color: var(--ems-base);
    color: var(--ems-base);
}
.bdw-ems-container.theme-custom.style-outline .bdw-ems-btn:hover {
    background-color: var(--ems-hover);
    border-color: var(--ems-hover);
    color: #ffffff;
}

/* ==========================================
   STYLE: MINIMAL
========================================== */
.bdw-ems-container.style-minimal .bdw-ems-btn {
    background-color: transparent !important;
    border-color: transparent !important;
    padding-left: 0;
    padding-right: 0;
}

.bdw-ems-container.theme-official.style-minimal .bdw-ems-btn:hover {
    filter: brightness(0.7);
}

.bdw-ems-container.theme-custom.style-minimal .bdw-ems-btn {
    color: var(--ems-base);
}
.bdw-ems-container.theme-custom.style-minimal .bdw-ems-btn:hover {
    color: var(--ems-hover);
}