/* =========================================================
   AR DETALLES — BOTONES PRINCIPALES
   ========================================================= */

.hero-buttons {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: stretch;

    gap: 24px;

    width: min(820px, 92vw);

    margin: 42px auto 0;

    z-index: 30;
}


/* =========================================================
   BOTÓN BASE
   ========================================================= */

.main-button {
    position: relative;

    isolation: isolate;

    flex: 1;

    min-height: 94px;

    padding: 1px;

    border-radius: 22px;

    color: #fff8e7;

    text-decoration: none;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.18),
            rgba(255,255,255,.03) 35%,
            rgba(255,255,255,.08)
        );

    box-shadow:
        0 18px 45px rgba(0,0,0,.35),
        0 0 30px rgba(120,60,170,.08);

    transform:
        translateZ(0);

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        box-shadow .45s ease,
        filter .45s ease;
}


/* BORDE ANIMADO */

.main-button::before {
    content: "";

    position: absolute;

    inset: -150%;

    z-index: -2;

    background:
        conic-gradient(
            from 0deg,
            transparent,
            rgba(212,175,106,.8),
            rgba(157,77,196,.8),
            transparent 30%,
            transparent 70%,
            rgba(239,181,191,.6),
            transparent
        );

    animation:
        buttonBorder
        6s
        linear
        infinite;
}


/* INTERIOR */

.main-button::after {
    content: "";

    position: absolute;

    inset: 1px;

    z-index: -1;

    border-radius: 21px;

    background:
        linear-gradient(
            135deg,
            rgba(18,12,25,.94),
            rgba(12,9,17,.88)
        );

    backdrop-filter:
        blur(18px);

    -webkit-backdrop-filter:
        blur(18px);
}


/* =========================================================
   CONTENIDO
   ========================================================= */

.button-content {
    position: relative;

    min-height: 92px;

    padding: 17px 20px;

    display: flex;
    align-items: center;

    gap: 17px;

    overflow: hidden;

    border-radius: 21px;
}


/* REFLEJO */

.button-content::before {
    content: "";

    position: absolute;

    top: -100%;
    left: -45%;

    width: 35%;
    height: 300%;

    transform:
        rotate(25deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.14),
            transparent
        );

    transition:
        left .8s ease;
}


.main-button:hover
.button-content::before {
    left: 125%;
}


/* =========================================================
   ICONO
   ========================================================= */

.button-icon {
    position: relative;

    flex:
        0 0 53px;

    width: 53px;
    height: 53px;

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

    border-radius: 16px;

    font-family:
        Georgia,
        serif;

    font-size: 1.55rem;

    color: #f3d9a2;

    background:
        radial-gradient(
            circle,
            rgba(212,175,106,.18),
            rgba(212,175,106,.04) 65%,
            transparent
        );

    border:
        1px solid
        rgba(212,175,106,.3);

    box-shadow:
        0 0 20px
        rgba(212,175,106,.08),

        inset 0 0 15px
        rgba(255,255,255,.03);

    transition:
        transform .5s cubic-bezier(.16,1,.3,1),
        box-shadow .5s ease;
}


.main-button:hover
.button-icon {
    transform:
        rotate(12deg)
        scale(1.12);

    box-shadow:
        0 0 25px
        rgba(212,175,106,.3);
}


/* =========================================================
   TEXTO
   ========================================================= */

.button-text {
    min-width: 0;

    display: flex;
    flex-direction: column;

    align-items: flex-start;

    gap: 6px;

    text-align: left;
}


.button-text strong {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(.95rem, 2vw, 1.1rem);

    font-weight: 600;

    letter-spacing: 2px;

    color: #fff8e7;

    transition:
        letter-spacing .4s ease;
}


.main-button:hover
.button-text strong {
    letter-spacing: 2.7px;
}


.button-text small {
    font-family:
        Arial,
        sans-serif;

    font-size:
        clamp(.62rem, 1.5vw, .72rem);

    letter-spacing: .6px;

    color:
        rgba(255,248,231,.5);
}


/* =========================================================
   FLECHA
   ========================================================= */

.button-arrow {
    margin-left: auto;

    flex:
        0 0 auto;

    width: 36px;
    height: 36px;

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

    border-radius: 50%;

    color:
        rgba(243,217,162,.8);

    border:
        1px solid
        rgba(243,217,162,.18);

    font-size: 1rem;

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        background .45s ease,
        color .45s ease;
}


.main-button:hover
.button-arrow {
    transform:
        translateX(7px);

    color:
        #fff8e7;

    background:
        rgba(212,175,106,.12);
}


/* =========================================================
   CATÁLOGO
   ========================================================= */

.catalog-button {
    --button-accent:
        #d4af6a;

    --button-secondary:
        #9d4dc4;
}


.catalog-button .button-icon {
    color:
        #f3d9a2;
}


/* =========================================================
   NOSOTROS
   ========================================================= */

.about-button {
    --button-accent:
        #d98c9a;

    --button-secondary:
        #8745bd;
}


.about-button .button-icon {
    color:
        #efb5bf;
}


/* =========================================================
   HALO AL PASAR EL MOUSE
   ========================================================= */

.main-button:hover {
    transform:
        translateY(-8px)
        scale(1.025);

    filter:
        brightness(1.12);

    box-shadow:
        0 25px 60px rgba(0,0,0,.45),
        0 0 35px rgba(143,72,180,.2);
}


.catalog-button:hover {
    box-shadow:
        0 25px 60px rgba(0,0,0,.45),
        0 0 45px rgba(212,175,106,.18),
        0 0 80px rgba(157,77,196,.12);
}


.about-button:hover {
    box-shadow:
        0 25px 60px rgba(0,0,0,.45),
        0 0 45px rgba(217,140,154,.16),
        0 0 80px rgba(135,69,189,.13);
}


/* =========================================================
   BRILLO EXTERIOR
   ========================================================= */

.button-glow {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 100px;
    height: 100px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(212,175,106,.25),
            transparent 70%
        );

    transform:
        translate(-50%,-50%)
        scale(.5);

    opacity: 0;

    filter:
        blur(20px);

    transition:
        opacity .5s ease,
        transform .7s ease;
}


.main-button:hover
.button-glow {
    opacity: 1;

    transform:
        translate(-50%,-50%)
        scale(4);
}


/* =========================================================
   ANIMACIÓN DEL BORDE
   ========================================================= */

@keyframes buttonBorder {

    0% {
        transform:
            rotate(0deg);
    }

    100% {
        transform:
            rotate(360deg);
    }

}


/* =========================================================
   ENTRADA
   ========================================================= */

.main-button {
    animation:
        buttonAppear
        .9s
        cubic-bezier(.16,1,.3,1)
        both;
}


.catalog-button {
    animation-delay:
        .35s;
}


.about-button {
    animation-delay:
        .48s;
}


@keyframes buttonAppear {

    from {
        opacity: 0;

        transform:
            translateY(30px)
            scale(.94);
    }

    to {
        opacity: 1;

        transform:
            translateY(0)
            scale(1);
    }

}


/* =========================================================
   CLICK
   ========================================================= */

.main-button:active {
    transform:
        translateY(-2px)
        scale(.97);

    transition:
        transform .1s ease;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 700px) {

    .hero-buttons {
        width:
            min(440px, 90vw);

        flex-direction:
            column;

        gap: 15px;

        margin-top: 32px;
    }

    .main-button {
        flex:
            none;

        width: 100%;

        min-height: 82px;

        border-radius: 19px;
    }

    .button-content {
        min-height: 80px;

        padding:
            13px 15px;

        border-radius: 18px;

        gap: 13px;
    }

    .button-icon {
        flex-basis: 46px;

        width: 46px;
        height: 46px;

        border-radius: 13px;
    }

    .button-arrow {
        width: 32px;
        height: 32px;
    }

}


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

@media (max-width: 380px) {

    .hero-buttons {
        width:
            92vw;
    }

    .button-text small {
        font-size:
            .58rem;
    }

    .button-text strong {
        font-size:
            .88rem;
    }

}


/* =========================================================
   REDUCIR MOVIMIENTO
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .main-button,
    .main-button::before,
    .button-content::before {
        animation: none !important;
        transition: none !important;
    }

   }
