/* Botones frontend M.O.M. */
.btn-mom-primary,
.btn-mom-gold,
.btn-mom-outline,
.frontend-btn-primary,
.frontend-btn-gold,
.frontend-btn-outline,
.customer-auth-submit.btn-mom-primary,
.customer-auth-secondary.btn-mom-outline,
.success-video-overlay__button.btn-mom-gold,
.success-video-overlay__button.btn-mom-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

/* Boton principal azul M.O.M. */
.btn-mom-primary,
.frontend-btn-primary,
.btn-primary {
    background: linear-gradient(140deg, #1B466D 0%, #112F4E 58%, #0A2138 100%);
    border: 1px solid #112F4E;
    color: #FFFFFF;
    box-shadow: 0 8px 18px rgba(17, 47, 78, 0.20);
}

.btn-mom-primary:hover,
.btn-mom-primary:focus,
.frontend-btn-primary:hover,
.frontend-btn-primary:focus,
.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(140deg, #24567F 0%, #153A5E 58%, #081B2E 100%);
    border-color: #081B2E;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.btn-mom-primary:active,
.frontend-btn-primary:active,
.btn-primary:active,
.btn-mom-primary.active,
.frontend-btn-primary.active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    background: linear-gradient(140deg, #143959 0%, #0F2944 58%, #071827 100%);
    border-color: #071827;
    color: #FFFFFF;
    box-shadow: 0 5px 12px rgba(17, 47, 78, 0.22);
    transform: translateY(0);
}

.btn-mom-primary:focus,
.frontend-btn-primary:focus,
.btn-primary:focus {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(201, 169, 91, 0.28), 0 8px 18px rgba(17, 47, 78, 0.20);
}

/* Boton dorado M.O.M. */
.btn-mom-gold,
.frontend-btn-gold {
    background: linear-gradient(140deg, #E2CC87 0%, #C9A95B 58%, #A9883E 100%);
    border: 1px solid #C9A95B;
    color: #112F4E;
    box-shadow: 0 8px 18px rgba(201, 169, 91, 0.25);
}

.btn-mom-gold:hover,
.btn-mom-gold:focus,
.frontend-btn-gold:hover,
.frontend-btn-gold:focus {
    background: linear-gradient(140deg, #EBD99A 0%, #D2B467 58%, #B08D42 100%);
    border-color: #B08D42;
    color: #112F4E;
    transform: translateY(-1px);
}

.btn-mom-gold:active,
.frontend-btn-gold:active,
.btn-mom-gold.active,
.frontend-btn-gold.active {
    background: linear-gradient(140deg, #D8BD70 0%, #B9974C 58%, #947333 100%);
    border-color: #947333;
    color: #112F4E;
    box-shadow: 0 5px 12px rgba(201, 169, 91, 0.22);
    transform: translateY(0);
}

.btn-mom-gold:focus,
.frontend-btn-gold:focus {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(17, 47, 78, 0.18), 0 8px 18px rgba(201, 169, 91, 0.25);
}

/* Boton secundario claro */
.btn-mom-outline,
.frontend-btn-outline {
    background: #FFF;
    border: 1px solid #112F4E;
    color: #112F4E;
    box-shadow: none;
}

.btn-mom-outline:hover,
.btn-mom-outline:focus,
.frontend-btn-outline:hover,
.frontend-btn-outline:focus {
    background: #112F4E;
    border-color: #112F4E;
    color: #FFFFFF;
    transform: translateY(-1px);
}

.btn-mom-outline:active,
.frontend-btn-outline:active,
.btn-mom-outline.active,
.frontend-btn-outline.active {
    background: #0A2138;
    border-color: #0A2138;
    color: #FFFFFF;
    transform: translateY(0);
}

.btn-mom-outline:focus,
.frontend-btn-outline:focus {
    outline: 0;
    box-shadow: 0 0 0 4px rgba(201, 169, 91, 0.24);
}

/* Garantizar que texto e iconos sean visibles */
.btn-mom-primary,
.btn-mom-primary i,
.btn-mom-primary svg,
.btn-mom-primary span,
.frontend-btn-primary,
.frontend-btn-primary i,
.frontend-btn-primary svg,
.frontend-btn-primary span,
.btn-primary,
.btn-primary i,
.btn-primary svg,
.btn-primary span {
    color: #FFFFFF !important;
    fill: currentColor;
}

.btn-mom-gold,
.btn-mom-gold i,
.btn-mom-gold svg,
.btn-mom-gold span,
.frontend-btn-gold,
.frontend-btn-gold i,
.frontend-btn-gold svg,
.frontend-btn-gold span {
    color: #FFF;
    fill: currentColor;
}

.btn-mom-outline i,
.btn-mom-outline svg,
.btn-mom-outline span,
.frontend-btn-outline i,
.frontend-btn-outline svg,
.frontend-btn-outline span {
    color: inherit;
    fill: currentColor;
}

.btn-mom-primary:disabled,
.btn-mom-primary.disabled,
.frontend-btn-primary:disabled,
.frontend-btn-primary.disabled,
.btn-mom-gold:disabled,
.btn-mom-gold.disabled,
.frontend-btn-gold:disabled,
.frontend-btn-gold.disabled,
.btn-mom-outline:disabled,
.btn-mom-outline.disabled,
.frontend-btn-outline:disabled,
.frontend-btn-outline.disabled,
.btn-primary:disabled,
.btn-primary.disabled {
    opacity: 0.58;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.cln-btn-block.btn-mom-primary,
.cln-btn-block.btn-mom-gold,
.cln-btn-block.btn-mom-outline {
    width: 100%;
}

.cln-play-button.btn-mom-gold {
    width: 62px;
    height: 62px;
    min-height: 62px;
    padding: 0;
    border-radius: 50%;
}

.cln-arrow-button.btn-mom-gold,
.cln-service-nav.btn-mom-outline,
.cln-review-nav.btn-mom-outline,
.cln-search-button.btn-mom-outline,
.cln-search-submit.btn-mom-gold,
.cln-icon-action.btn-mom-outline {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    border-radius: 50%;
}

.cln-service-nav.btn-mom-outline {
    width: 42px;
    height: 42px;
    min-height: 42px;
}

.cln-review-nav.btn-mom-outline {
    width: 40px;
    height: 40px;
    min-height: 40px;
}

.cln-search-submit.btn-mom-gold {
    width: 40px;
    height: 40px;
    min-height: 40px;
}

.cln-category-filter.btn-mom-outline.active {
    background: linear-gradient(140deg, #1B466D 0%, #112F4E 58%, #0A2138 100%);
    border-color: #112F4E;
    color: #FFFFFF;
    box-shadow: 0 8px 18px rgba(17, 47, 78, 0.20);
}

.cln-category-filter.btn-mom-outline.active i,
.cln-category-filter.btn-mom-outline.active svg,
.cln-category-filter.btn-mom-outline.active span {
    color: #FFFFFF !important;
    fill: currentColor;
}

.customer-inline-button.btn-mom-outline {
    min-height: 36px;
    padding: 8px 12px;
}

.customer-logout-button.btn-mom-outline {
    width: 100%;
}

.customer-service-action.btn-mom-primary,
.customer-service-action.btn-mom-outline,
.cln-review-more.btn-mom-outline {
    min-height: 36px;
    padding: 8px 12px;
    font-size: 0.8rem;
}

.cln-service-video-card.btn-mom-outline {
    display: grid;
    justify-content: stretch;
    width: 100%;
    min-height: 0;
    padding: 12px;
    border-radius: 16px;
    text-align: left;
}

.cln-service-video-card.btn-mom-outline:hover,
.cln-service-video-card.btn-mom-outline:focus {
    color: #FFFFFF;
}

.cln-service-video-card.btn-mom-outline:hover b,
.cln-service-video-card.btn-mom-outline:hover small,
.cln-service-video-card.btn-mom-outline:focus b,
.cln-service-video-card.btn-mom-outline:focus small {
    color: #FFFFFF;
}

.cln-service-video-card.btn-mom-outline .bi-play-fill {
    color: #112F4E;
}

.customer-inline-button.btn-mom-outline.danger {
    border-color: rgba(155, 44, 44, 0.34);
    color: #9B2C2C;
    background: #FFF;
}

.customer-inline-button.btn-mom-outline.danger:hover,
.customer-inline-button.btn-mom-outline.danger:focus {
    border-color: #9B2C2C;
    color: #FFFFFF;
    background: #9B2C2C;
}
