/* Botón de Descarga/Enlace - Darwin Landing Theme */

.boton-descarga-contenedor {
    max-width: 800px;
    margin: 40px auto;
    padding: 0 20px;
}

.boton-descarga {
    display: flex;
    align-items: center;
    text-decoration: none !important;
    padding: 30px 35px;
    border-radius: 18px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    border: 2px solid transparent;
    background: white;
    color: inherit !important;
    position: relative;
    overflow: hidden;
    width: 100%;
}

.boton-descarga:not(.orientacion-vertical) {
    border-left: 8px solid #9c27b0;
}

.boton-descarga:hover {
    text-decoration: none !important;
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.18);
}

.boton-descarga::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: width 0.3s ease;
    z-index: 0;
}

.boton-descarga:hover::before {
    width: 12px;
}

/* Sobrescribir ::before para orientación vertical */
.boton-descarga.orientacion-vertical::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    transition: height 0.3s ease;
}

.boton-descarga.orientacion-vertical:hover::before {
    width: 100%;
    height: 12px;
}

.boton-descarga-icono {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 30px;
    font-size: 40px;
    color: white;
    position: relative;
    z-index: 1;
    box-shadow: 0 6px 20px rgba(156, 39, 176, 0.3);
}

.boton-descarga-contenido {
    flex-grow: 1;
    text-align: left;
    position: relative;
    z-index: 1;
}

.boton-descarga-titulo {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 700;
    color: #2c3e50;
    text-decoration: none !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.3;
}

.boton-descarga-subtitulo {
    margin: 0;
    font-size: 16px;
    color: #666;
    font-weight: 400;
    text-decoration: none !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.5;
    white-space: pre-line;
}

.boton-descarga-icono-accion {
    flex-shrink: 0;
    font-size: 32px;
    margin-left: 20px;
    position: relative;
    z-index: 1;
    transition: all 0.3s ease;
}

/* Orientación Vertical */
.boton-descarga.orientacion-vertical {
    flex-direction: column;
    text-align: center;
    padding: 35px 30px;
    border-top: 8px solid #9c27b0;
    border-left: none;
}

.boton-descarga.orientacion-vertical .boton-descarga-icono {
    margin-right: 0;
    margin-bottom: 25px;
}

.boton-descarga.orientacion-vertical .boton-descarga-contenido {
    text-align: center;
}

.boton-descarga.orientacion-vertical .boton-descarga-icono-accion {
    margin-left: 0;
    margin-top: 20px;
}

/* Responsivo */
@media (max-width: 768px) {
    .boton-descarga {
        padding: 25px 20px;
    }
    
    .boton-descarga-icono {
        width: 65px;
        height: 65px;
        font-size: 32px;
        margin-right: 20px;
    }
    
    .boton-descarga-titulo {
        font-size: 20px;
    }
    
    .boton-descarga-subtitulo {
        font-size: 14px;
    }
    
    .boton-descarga-icono-accion {
        font-size: 28px;
    }
}

@media (max-width: 480px) {
    .boton-descarga-contenedor {
        padding: 0 15px;
    }
    
    .boton-descarga {
        flex-direction: column;
        text-align: center;
        padding: 25px 20px;
    }
    
    .boton-descarga-icono {
        margin-right: 0;
        margin-bottom: 20px;
    }
    
    .boton-descarga-contenido {
        text-align: center;
    }
    
    .boton-descarga-icono-accion {
        margin-left: 0;
        margin-top: 15px;
    }
    
    .boton-descarga-titulo {
        font-size: 18px;
    }
    
    .boton-descarga.orientacion-vertical .boton-descarga-icono-accion {
        margin-top: 15px;
    }
}

/* Efectos de hover en texto */
.boton-descarga:hover .boton-descarga-titulo {
    color: #000;
}

/* Animación de descarga */
@keyframes boton-descarga-animacion {
    0% { transform: translateY(0); }
    50% { transform: translateY(8px); }
    100% { transform: translateY(0); }
}

.boton-descarga:hover .boton-descarga-icono-accion {
    animation: boton-descarga-animacion 1s infinite;
}

/* Variantes de color - Purple (default) */
.boton-descarga.color-purple:not(.orientacion-vertical) {
    border-left-color: #9c27b0;
}

.boton-descarga.color-purple.orientacion-vertical {
    border-top-color: #9c27b0;
}

.boton-descarga.color-purple:hover {
    background: linear-gradient(to right, #fef7ff, #f3e5f5);
}

.boton-descarga.color-purple:not(.orientacion-vertical):hover {
    border-left-color: #7b1fa2;
}

.boton-descarga.color-purple.orientacion-vertical:hover {
    border-top-color: #7b1fa2;
}

.boton-descarga.color-purple::before {
    background: linear-gradient(to bottom, #9c27b0, #7b1fa2);
}

.boton-descarga.color-purple .boton-descarga-icono {
    background: linear-gradient(135deg, #9c27b0, #7b1fa2);
    box-shadow: 0 6px 20px rgba(156, 39, 176, 0.3);
}

.boton-descarga.color-purple .boton-descarga-icono-accion {
    color: #9c27b0;
}

.boton-descarga.color-purple:hover .boton-descarga-icono-accion {
    color: #7b1fa2;
}

/* Variante Blue */
.boton-descarga.color-blue:not(.orientacion-vertical) {
    border-left-color: #2196F3;
}

.boton-descarga.color-blue.orientacion-vertical {
    border-top-color: #2196F3;
}

.boton-descarga.color-blue:hover {
    background: linear-gradient(to right, #e3f2fd, #bbdefb);
}

.boton-descarga.color-blue:not(.orientacion-vertical):hover {
    border-left-color: #1976D2;
}

.boton-descarga.color-blue.orientacion-vertical:hover {
    border-top-color: #1976D2;
}

.boton-descarga.color-blue::before {
    background: linear-gradient(to bottom, #2196F3, #1976D2);
}

.boton-descarga.color-blue .boton-descarga-icono {
    background: linear-gradient(135deg, #2196F3, #1976D2);
    box-shadow: 0 6px 20px rgba(33, 150, 243, 0.3);
}

.boton-descarga.color-blue .boton-descarga-icono-accion {
    color: #2196F3;
}

.boton-descarga.color-blue:hover .boton-descarga-icono-accion {
    color: #1976D2;
}

/* Variante Green */
.boton-descarga.color-green:not(.orientacion-vertical) {
    border-left-color: #4CAF50;
}

.boton-descarga.color-green.orientacion-vertical {
    border-top-color: #4CAF50;
}

.boton-descarga.color-green:hover {
    background: linear-gradient(to right, #e8f5e9, #c8e6c9);
}

.boton-descarga.color-green:not(.orientacion-vertical):hover {
    border-left-color: #388E3C;
}

.boton-descarga.color-green.orientacion-vertical:hover {
    border-top-color: #388E3C;
}

.boton-descarga.color-green::before {
    background: linear-gradient(to bottom, #4CAF50, #388E3C);
}

.boton-descarga.color-green .boton-descarga-icono {
    background: linear-gradient(135deg, #4CAF50, #388E3C);
    box-shadow: 0 6px 20px rgba(76, 175, 80, 0.3);
}

.boton-descarga.color-green .boton-descarga-icono-accion {
    color: #4CAF50;
}

.boton-descarga.color-green:hover .boton-descarga-icono-accion {
    color: #388E3C;
}

/* Variante Red */
.boton-descarga.color-red:not(.orientacion-vertical) {
    border-left-color: #f44336;
}

.boton-descarga.color-red.orientacion-vertical {
    border-top-color: #f44336;
}

.boton-descarga.color-red:hover {
    background: linear-gradient(to right, #ffebee, #ffcdd2);
}

.boton-descarga.color-red:not(.orientacion-vertical):hover {
    border-left-color: #d32f2f;
}

.boton-descarga.color-red.orientacion-vertical:hover {
    border-top-color: #d32f2f;
}

.boton-descarga.color-red::before {
    background: linear-gradient(to bottom, #f44336, #d32f2f);
}

.boton-descarga.color-red .boton-descarga-icono {
    background: linear-gradient(135deg, #f44336, #d32f2f);
    box-shadow: 0 6px 20px rgba(244, 67, 54, 0.3);
}

.boton-descarga.color-red .boton-descarga-icono-accion {
    color: #f44336;
}

.boton-descarga.color-red:hover .boton-descarga-icono-accion {
    color: #d32f2f;
}

/* Variante Orange */
.boton-descarga.color-orange:not(.orientacion-vertical) {
    border-left-color: #FF9800;
}

.boton-descarga.color-orange.orientacion-vertical {
    border-top-color: #FF9800;
}

.boton-descarga.color-orange:hover {
    background: linear-gradient(to right, #fff3e0, #ffe0b2);
}

.boton-descarga.color-orange:not(.orientacion-vertical):hover {
    border-left-color: #F57C00;
}

.boton-descarga.color-orange.orientacion-vertical:hover {
    border-top-color: #F57C00;
}

.boton-descarga.color-orange::before {
    background: linear-gradient(to bottom, #FF9800, #F57C00);
}

.boton-descarga.color-orange .boton-descarga-icono {
    background: linear-gradient(135deg, #FF9800, #F57C00);
    box-shadow: 0 6px 20px rgba(255, 152, 0, 0.3);
}

.boton-descarga.color-orange .boton-descarga-icono-accion {
    color: #FF9800;
}

.boton-descarga.color-orange:hover .boton-descarga-icono-accion {
    color: #F57C00;
}

/* Variante Teal */
.boton-descarga.color-teal:not(.orientacion-vertical) {
    border-left-color: #009688;
}

.boton-descarga.color-teal.orientacion-vertical {
    border-top-color: #009688;
}

.boton-descarga.color-teal:hover {
    background: linear-gradient(to right, #e0f2f1, #b2dfdb);
}

.boton-descarga.color-teal:not(.orientacion-vertical):hover {
    border-left-color: #00796B;
}

.boton-descarga.color-teal.orientacion-vertical:hover {
    border-top-color: #00796B;
}

.boton-descarga.color-teal::before {
    background: linear-gradient(to bottom, #009688, #00796B);
}

.boton-descarga.color-teal .boton-descarga-icono {
    background: linear-gradient(135deg, #009688, #00796B);
    box-shadow: 0 6px 20px rgba(0, 150, 136, 0.3);
}

.boton-descarga.color-teal .boton-descarga-icono-accion {
    color: #009688;
}

.boton-descarga.color-teal:hover .boton-descarga-icono-accion {
    color: #00796B;
}

/* Variante Indigo */
.boton-descarga.color-indigo:not(.orientacion-vertical) {
    border-left-color: #3F51B5;
}

.boton-descarga.color-indigo.orientacion-vertical {
    border-top-color: #3F51B5;
}

.boton-descarga.color-indigo:hover {
    background: linear-gradient(to right, #e8eaf6, #c5cae9);
}

.boton-descarga.color-indigo:not(.orientacion-vertical):hover {
    border-left-color: #303F9F;
}

.boton-descarga.color-indigo.orientacion-vertical:hover {
    border-top-color: #303F9F;
}

.boton-descarga.color-indigo::before {
    background: linear-gradient(to bottom, #3F51B5, #303F9F);
}

.boton-descarga.color-indigo .boton-descarga-icono {
    background: linear-gradient(135deg, #3F51B5, #303F9F);
    box-shadow: 0 6px 20px rgba(63, 81, 181, 0.3);
}

.boton-descarga.color-indigo .boton-descarga-icono-accion {
    color: #3F51B5;
}

.boton-descarga.color-indigo:hover .boton-descarga-icono-accion {
    color: #303F9F;
}

/* Variante Pink */
.boton-descarga.color-pink:not(.orientacion-vertical) {
    border-left-color: #E91E63;
}

.boton-descarga.color-pink.orientacion-vertical {
    border-top-color: #E91E63;
}

.boton-descarga.color-pink:hover {
    background: linear-gradient(to right, #fce4ec, #f8bbd0);
}

.boton-descarga.color-pink:not(.orientacion-vertical):hover {
    border-left-color: #C2185B;
}

.boton-descarga.color-pink.orientacion-vertical:hover {
    border-top-color: #C2185B;
}

.boton-descarga.color-pink::before {
    background: linear-gradient(to bottom, #E91E63, #C2185B);
}

.boton-descarga.color-pink .boton-descarga-icono {
    background: linear-gradient(135deg, #E91E63, #C2185B);
    box-shadow: 0 6px 20px rgba(233, 30, 99, 0.3);
}

.boton-descarga.color-pink .boton-descarga-icono-accion {
    color: #E91E63;
}

.boton-descarga.color-pink:hover .boton-descarga-icono-accion {
    color: #C2185B;
}

/* Variante Cyan */
.boton-descarga.color-cyan:not(.orientacion-vertical) {
    border-left-color: #00BCD4;
}

.boton-descarga.color-cyan.orientacion-vertical {
    border-top-color: #00BCD4;
}

.boton-descarga.color-cyan:hover {
    background: linear-gradient(to right, #e0f7fa, #b2ebf2);
}

.boton-descarga.color-cyan:not(.orientacion-vertical):hover {
    border-left-color: #0097A7;
}

.boton-descarga.color-cyan.orientacion-vertical:hover {
    border-top-color: #0097A7;
}

.boton-descarga.color-cyan::before {
    background: linear-gradient(to bottom, #00BCD4, #0097A7);
}

.boton-descarga.color-cyan .boton-descarga-icono {
    background: linear-gradient(135deg, #00BCD4, #0097A7);
    box-shadow: 0 6px 20px rgba(0, 188, 212, 0.3);
}

.boton-descarga.color-cyan .boton-descarga-icono-accion {
    color: #00BCD4;
}

.boton-descarga.color-cyan:hover .boton-descarga-icono-accion {
    color: #0097A7;
}

/* Variante Amber */
.boton-descarga.color-amber:not(.orientacion-vertical) {
    border-left-color: #FFC107;
}

.boton-descarga.color-amber.orientacion-vertical {
    border-top-color: #FFC107;
}

.boton-descarga.color-amber:hover {
    background: linear-gradient(to right, #fff8e1, #ffecb3);
}

.boton-descarga.color-amber:not(.orientacion-vertical):hover {
    border-left-color: #FFA000;
}

.boton-descarga.color-amber.orientacion-vertical:hover {
    border-top-color: #FFA000;
}

.boton-descarga.color-amber::before {
    background: linear-gradient(to bottom, #FFC107, #FFA000);
}

.boton-descarga.color-amber .boton-descarga-icono {
    background: linear-gradient(135deg, #FFC107, #FFA000);
    box-shadow: 0 6px 20px rgba(255, 193, 7, 0.3);
}

.boton-descarga.color-amber .boton-descarga-icono-accion {
    color: #FFC107;
}

.boton-descarga.color-amber:hover .boton-descarga-icono-accion {
    color: #FFA000;
}

/* Variante Lime */
.boton-descarga.color-lime:not(.orientacion-vertical) {
    border-left-color: #CDDC39;
}

.boton-descarga.color-lime.orientacion-vertical {
    border-top-color: #CDDC39;
}

.boton-descarga.color-lime:hover {
    background: linear-gradient(to right, #f9fbe7, #f0f4c3);
}

.boton-descarga.color-lime:not(.orientacion-vertical):hover {
    border-left-color: #AFB42B;
}

.boton-descarga.color-lime.orientacion-vertical:hover {
    border-top-color: #AFB42B;
}

.boton-descarga.color-lime::before {
    background: linear-gradient(to bottom, #CDDC39, #AFB42B);
}

.boton-descarga.color-lime .boton-descarga-icono {
    background: linear-gradient(135deg, #CDDC39, #AFB42B);
    box-shadow: 0 6px 20px rgba(205, 220, 57, 0.3);
}

.boton-descarga.color-lime .boton-descarga-icono-accion {
    color: #CDDC39;
}

.boton-descarga.color-lime:hover .boton-descarga-icono-accion {
    color: #AFB42B;
}

/* Variante Brown */
.boton-descarga.color-brown:not(.orientacion-vertical) {
    border-left-color: #795548;
}

.boton-descarga.color-brown.orientacion-vertical {
    border-top-color: #795548;
}

.boton-descarga.color-brown:hover {
    background: linear-gradient(to right, #efebe9, #d7ccc8);
}

.boton-descarga.color-brown:not(.orientacion-vertical):hover {
    border-left-color: #5D4037;
}

.boton-descarga.color-brown.orientacion-vertical:hover {
    border-top-color: #5D4037;
}

.boton-descarga.color-brown::before {
    background: linear-gradient(to bottom, #795548, #5D4037);
}

.boton-descarga.color-brown .boton-descarga-icono {
    background: linear-gradient(135deg, #795548, #5D4037);
    box-shadow: 0 6px 20px rgba(121, 85, 72, 0.3);
}

.boton-descarga.color-brown .boton-descarga-icono-accion {
    color: #795548;
}

.boton-descarga.color-brown:hover .boton-descarga-icono-accion {
    color: #5D4037;
}
