.social-media {
    position: fixed;
    right: 0;
    top: 20%;
    z-index: 100;
    --social-icon-size: 2rem; /* change to the size you want */
    opacity: 0;
    transform: translateX(250px);
    transition: all .4s ease;
}

@media (min-width: 1919px) {
    .social-media {
        top: 25%;
        --social-icon-size: 2.5rem; /* change to the size you want */
        right: 0.5rem;
    }
}

.social-media.show {
    opacity: 1;
    transform: translateX(0);
}

@media (max-width: 768px) {
    .social-media {
        --social-icon-size: 1.5rem;
    }
}

.social-media-active{
    position: fixed;
    display: block;
    right: 0;
    top: 50%;
    z-index: 1001;
    background: #00000000;
    color: white;
    cursor: pointer;
    font-size: 1.2rem;
    padding: 12px;
    border-radius: 12px 0 0 12px;
}

.botones_sociales {
    display: flex;
    flex-direction: column;
    gap: 0.5vh;
    justify-content: right;
}

.social-media-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 180px;
    padding: 12px;
    background: #00000000;
    color: white;
    text-decoration: none;
    border-radius: 12px 0 0 12px;
    transform: translateX(69%);
    transition: transform 0.3s ease;
}


.social-media-btn:hover {
    transform: translateX(0);
}

.social-media-btn img,
.social-media-btn svg {
  width: var(--social-icon-size);
  height: var(--social-icon-size);
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  filter: brightness(0) saturate(100%) invert(58%) sepia(98%) saturate(1554%) hue-rotate(125deg) brightness(96%) contrast(101%);
}

.social-media-btn .label {
  display: inline-block;
  overflow: hidden;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  max-width: 0;
  opacity: 0;
  white-space: nowrap;
  margin-left: 0;
  transition: max-width 0.25s ease, opacity 0.2s ease, margin-left 0.2s ease;
}

.social-media-btn:hover .label {
  max-width: 160px;
  opacity: 1;
  margin-left: 8px;
}

.social-media-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 0 0.5rem #00c8856c;
}

@media (max-width: 768px) {
    .social-media {
        right: 0;
        top: 20%;
        --social-icon-size: 1.5rem;
    }

    .social-media-btn {
        width: auto;
        padding: 8px;
        transform: none !important;
        transition: none !important;
        justify-content: center;
        border-radius: 12px 0 0 12px;
    }

    .social-media-btn:hover {
        transform: none !important;
        box-shadow: none !important;
    }

    .social-media-btn .label {
        display: none;
    }

    .social-media-btn img,
    .social-media-btn svg {
        margin: 0;
    }

}

.social-toggle {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 2%;
    border: none;
    color: #00c884;
    cursor: pointer;
    z-index: 101;
    overflow: hidden;
    background: transparent;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}


.social-toggle:hover {
    transform: translateY(-50%) translateX(-5px);
}

@media (min-width: 768px) {
    .social-toggle {
        padding: 1%;
    }
}


.social-toggle::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 100%;
    height: 100%;
    transition: left .7s ease;
}

.social-toggle:hover::before {
    left: 150%;
}

.arrow {
    font-size: 1rem;
    font-weight: bold;
    color: #00c884;
    text-shadow: 0 0 10px #00c88525;
}

.arrow:hover {
    transform: scale(1.5);
}

.vertical-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 700;
    gap:1rem;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    .vertical-text {
        font-size: 1rem;
    }
}

@media (min-width: 1919px) {
    .vertical-text {
        font-size: 1.5rem;
    }
}

.vertical-text span {
    color: #00c884;
    text-shadow: none;
    animation: goldShine 5s infinite;
}

.vertical-text span:nth-child(1){animation-delay:0.1s;}
.vertical-text span:nth-child(2){animation-delay:0.2s;}
.vertical-text span:nth-child(3){animation-delay:0.3s;}
.vertical-text span:nth-child(4){animation-delay:0.4s;}
.vertical-text span:nth-child(5){animation-delay:0.5s;}
.vertical-text span:nth-child(6){animation-delay:0.6s;}
.vertical-text span:nth-child(7){animation-delay:0.7s;}

@keyframes typingLetter {
    from{
        opacity:0;
        transform:translateY(-10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.social-toggle.active {
    transform: translateY(-50%) translateX(-60%); /* ancho del panel */
}

@media (min-width: 768px) {
    .social-toggle.active {
        transform: translateY(-50%) translateX(-80%); /* ancho del panel en móvil */
    }

    .social-toggle.active .vertical-text {
        max-width: 0;
        opacity: 0;
        pointer-events: none;
    }
}

@media (min-width: 1919px) {
    .social-toggle.active {
        transform: translateY(-50%) translateX(-70%); /* ancho del panel en móvil */
    }
}

@keyframes goldShine {
    0%, 100% {
        color: #00ffaa;
        text-shadow: none;
    }

    50% {
        color: #00c884;
        text-shadow:
            0 0 5px rgba(0, 200, 132, 0.8),
            0 0 10px rgba(0, 200, 132, 0.8),
            0 0 20px rgba(0, 200, 132, 0.7),
            0 0 35px rgba(0, 200, 132, 0.6);
    }
}


/* ── Mobile FAB ── */
.toggle-social-media-mobile {
    display: none;
}

@media (max-width: 768px) {

    /* Ocultar toggle de desktop */
    .social-toggle {
        display: none;
    }

    .toggle-social-media-mobile {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        bottom: 0.5rem;
        right: 0.1rem;
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        background: transparent;
        border: none;
        color: #37d4d4;
        padding: 0;
        cursor: pointer;
        z-index: 200;
        transition: box-shadow 0.3s ease, transform 0.2s ease;
    }

    .container-icon-mobile img {
        width: 3rem;
        height: 3rem;
        object-fit: contain;
        display: block;
        filter: brightness(0) invert(66%) sepia(96%) saturate(1722%) hue-rotate(124deg) brightness(97%) contrast(101%);
        animation: iconGreenGlow 10s ease-in-out infinite;
    }
    
    @keyframes iconGreenGlow {
        0%, 100% {
            filter: brightness(0) invert(66%) sepia(96%) saturate(1722%) hue-rotate(124deg) brightness(97%) contrast(101%);
        }
    
        50% {
            filter: brightness(0) invert(66%) sepia(96%) saturate(1722%) hue-rotate(124deg) brightness(120%) contrast(110%)
                    drop-shadow(0 0 6px rgba(0, 200, 132, 0.9))
                    drop-shadow(0 0 12px rgba(0, 200, 132, 0.6));
        }
    }

    .social-media {
        top: auto;
        bottom: 5rem;
        right: 0;
    }
}