/* ==========================================
   Buttons — Luxury
========================================== */

.tap-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:220px;
    height:56px;
    border:none;
    border-radius:14px;
    background:var(--tap-gradient-navy);
    color:var(--tap-on-dark);
    font-family:var(--tap-font-body);
    font-size:15px;
    font-weight:700;
    letter-spacing:.3px;
    cursor:pointer;
    overflow:hidden;
    transition:var(--tap-transition);
    box-shadow:var(--tap-shadow-sm);
}

/* Gold hairline border + subtle inner sheen */
.tap-btn::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:1px solid rgba(201,162,39,.55);
    pointer-events:none;
}

/* Sweeping gold shine on hover */
.tap-btn::after{
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:40%;
    height:100%;
    background:linear-gradient(120deg,transparent,rgba(232,199,102,.45),transparent);
    transform:skewX(-20deg);
    transition:left .6s ease;
}

.tap-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(14,42,82,.32), var(--tap-shadow-gold);
    background:var(--tap-gradient-gold);
    color:var(--tap-primary-dark);
}

.tap-btn:hover::after{
    left:120%;
}

.tap-btn:active{
    transform:translateY(-1px);
}

.tap-btn:disabled{
    opacity:.55;
    cursor:not-allowed;
    transform:none !important;
    box-shadow:none !important;
}

/* Secondary / outline variant — for use anywhere a quieter
   luxury action is needed (e.g. "View details") */
.tap-btn-outline{
    background:transparent;
    color:var(--tap-primary);
    box-shadow:none;
}

.tap-btn-outline::before{
    border:1.5px solid var(--tap-gold-dark);
}

.tap-btn-outline:hover{
    background:var(--tap-gold-tint);
    color:var(--tap-primary-dark);
    box-shadow:var(--tap-shadow-sm);
}
