/* ========================================
   RESET
======================================== */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/* ========================================
   BODY
======================================== */

body {

    min-height: 100vh;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    display: flex;

    justify-content: center;
    align-items: center;

    padding: 20px;

    /*
        Fondo tropical:
        verde oscuro → verde → amarillo
    */

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(250, 204, 21, 0.35),
            transparent 30%
        ),

        radial-gradient(
            circle at 85% 80%,
            rgba(132, 204, 22, 0.35),
            transparent 30%
        ),

        linear-gradient(
            135deg,
            #064e3b,
            #15803d 50%,
            #65a30d
        );

    position: relative;

    overflow-x: hidden;
}


/* ========================================
   DECORACIÓN TROPICAL
======================================== */

body::before,
body::after {

    content: "🌴";

    position: fixed;

    font-size: 150px;

    opacity: 0.13;

    pointer-events: none;

    z-index: 0;
}


body::before {

    top: -25px;

    left: -30px;

    transform: rotate(-20deg);
}


body::after {

    bottom: -30px;

    right: -30px;

    transform:
        rotate(20deg)
        scaleX(-1);
}


/* ========================================
   TARJETA PRINCIPAL
======================================== */

.container {

    position: relative;

    z-index: 1;

    width: 100%;

    max-width: 420px;

    background:
        rgba(255, 255, 255, 0.95);

    backdrop-filter: blur(10px);

    border-radius: 28px;

    padding: 35px 25px;

    text-align: center;

    box-shadow:
        0 20px 60px
        rgba(0, 0, 0, 0.25);
}


/* ========================================
   LOGO
======================================== */

.logo {

    width: 110px;

    height: 110px;

    display: block;

    margin: 0 auto 18px;

    /*
        Contain evita deformar o cortar
        el logo.
    */

    object-fit: contain;

    border-radius: 50%;
}


/* ========================================
   TÍTULO
======================================== */

h1 {

    font-size: 28px;

    font-weight: 800;

    color: #14532d;

    margin-bottom: 7px;
}


/* ========================================
   DESCRIPCIÓN
======================================== */

.description {

    color: #666;

    font-size: 15px;

    margin-bottom: 28px;
}


/* ========================================
   BOTONES
======================================== */

.button {

    width: 100%;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    padding: 16px;

    margin-bottom: 14px;

    border-radius: 15px;

    border: none;

    font-family: inherit;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    text-decoration: none;

    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease;
}


/* Efecto al tocar */

.button:active {

    transform: scale(0.97);
}


/* ========================================
   ICONOS
======================================== */

.icon {

    font-size: 19px;

    line-height: 1;
}


/* ========================================
   INSTAGRAM
======================================== */

.instagram {

    background: #14532d;

    color: white;

    box-shadow:
        0 6px 18px
        rgba(20, 83, 45, 0.25);
}


/* ========================================
   COPIAR DATOS
======================================== */

.copy {

    background:
        linear-gradient(
            135deg,
            #facc15,
            #eab308
        );

    color: #422006;

    box-shadow:
        0 6px 18px
        rgba(234, 179, 8, 0.25);
}


/* ========================================
   MENSAJE DE COPIA
======================================== */

.message {

    min-height: 22px;

    margin-top: 8px;

    color: #15803d;

    font-size: 14px;

    font-weight: 700;
}


/* ========================================
   FOOTER
======================================== */

.footer {

    margin-top: 22px;

    font-size: 12px;

    color: #888;
}


/* ========================================
   MÓVILES PEQUEÑOS
======================================== */

@media (max-width: 380px) {

    .container {

        padding:
            30px 20px;
    }


    .logo {

        width: 95px;

        height: 95px;
    }


    h1 {

        font-size: 25px;
    }


    .button {

        padding: 15px;

        font-size: 15px;
    }
}