/* ==========================================================
   KOKO Enterprise Framework
   Module 01 – Enterprise Header
   Component: Buttons
   Version: 2.0.0
   ========================================================== */

/*--------------------------------------------------------------
# Base Button
--------------------------------------------------------------*/

.btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;
    gap:.75rem;

    min-height:54px;

    padding:0 2rem;

    border:1px solid transparent;
    border-radius:999px;

    font-family:var(--font-body);
    font-size:.95rem;
    font-weight:600;
    letter-spacing:.02em;
    line-height:1;

    text-decoration:none;
    white-space:nowrap;

    cursor:pointer;

    transition:
        background-color .3s ease,
        border-color .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;

}

/*--------------------------------------------------------------
# Hover
--------------------------------------------------------------*/

.btn:hover{

    transform:translateY(-2px);

}

/*--------------------------------------------------------------
# Active
--------------------------------------------------------------*/

.btn:active{

    transform:translateY(0);

}

/*--------------------------------------------------------------
# Focus
--------------------------------------------------------------*/

.btn:focus-visible{

    outline:2px solid var(--color-accent);

    outline-offset:4px;

}

/*--------------------------------------------------------------
# Disabled
--------------------------------------------------------------*/

.btn:disabled,
.btn.disabled{

    opacity:.45;

    cursor:not-allowed;

    pointer-events:none;

}

/*==============================================================
  Primary Button
==============================================================*/

.btn-primary{

    background:var(--color-primary);

    color:#ffffff;

    border-color:var(--color-primary);

}

.btn-primary:hover{

    background:var(--color-accent);

    border-color:var(--color-accent);

    color:#ffffff;

    box-shadow:
        0 12px 32px rgba(0,0,0,.15);

}

/*==============================================================
  Secondary Button
==============================================================*/

.btn-secondary{

    background:#ffffff;

    color:var(--color-primary);

    border-color:rgba(0,0,0,.12);

}

.btn-secondary:hover{

    background:#f7f7f7;

    border-color:rgba(0,0,0,.2);

}

/*==============================================================
  Ghost Button
==============================================================*/

.btn-ghost{

    background:transparent;

    color:var(--color-primary);

    border-color:rgba(0,0,0,.14);

}

.btn-ghost:hover{

    background:rgba(0,0,0,.04);

}

/*==============================================================
  Text Button
==============================================================*/

.btn-text{

    padding:0;

    min-height:auto;

    border:0;

    border-radius:0;

    background:none;

    color:var(--color-primary);

    font-weight:600;

}

.btn-text:hover{

    color:var(--color-accent);

    transform:none;

}

/*==============================================================
  Icon Button
==============================================================*/

.btn-icon{

    width:54px;
    height:54px;

    padding:0;

    border-radius:50%;

}

/*==============================================================
  Header CTA
==============================================================*/

.header-cta{

    min-width:180px;

    box-shadow:
        0 8px 24px rgba(0,0,0,.08);

}

.header-cta:hover{

    box-shadow:
        0 16px 36px rgba(0,0,0,.14);

}

/*==============================================================
  Homepage Transparent Header
==============================================================*/

.home .site-header:not(.is-scrolled)
.header-cta{

    background:rgba(255,255,255,.12);

    border-color:rgba(255,255,255,.35);

    color:#ffffff;

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

}

.home .site-header:not(.is-scrolled)
.header-cta:hover{

    background:#ffffff;

    color:var(--color-primary);

}

/*==============================================================
  Button Groups
==============================================================*/

.button-group{

    display:flex;

    align-items:center;

    gap:1rem;

    flex-wrap:wrap;

}

/*==============================================================
  Responsive
==============================================================*/

@media (max-width:768px){

    .button-group{

        flex-direction:column;

        align-items:stretch;

    }

    .button-group .btn{

        width:100%;

    }

}

@media (max-width:576px){

    .btn{

        width:100%;

    }

    .header-cta{

        min-width:100%;

    }

}