/* ==========================================================
   BUTTONS
========================================================== */

.pz-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:var(--pz-space-2);

    padding:16px 32px;

    border:none;

    border-radius:var(--pz-radius-pill);

    cursor:pointer;

    text-decoration:none;

    white-space:nowrap;

    font-family:'Manrope',sans-serif;

    font-size:16px;

    font-weight:700;

    transition:var(--pz-transition);

}

.pz-btn:hover{

    transform:translateY(-3px);

}

.pz-btn-primary{

    color:var(--pz-white);

    background:var(--pz-gradient-primary);

    box-shadow:
        0 18px 45px rgba(255,122,26,.22);

}

.pz-btn-primary:hover{

    box-shadow:
        0 28px 70px rgba(255,122,26,.32);

}

.pz-btn-dark{

    background:var(--pz-dark);

    color:var(--pz-white);

}

.pz-btn-dark:hover{

    background:var(--pz-dark-2);

}

.pz-btn-outline{

    color:var(--pz-primary);

    border:2px solid var(--pz-primary);

}

.pz-btn-outline:hover{

    background:var(--pz-primary);

    color:var(--pz-white);

}

.pz-btn-ghost{

    color:inherit;

}

.pz-btn-ghost:hover{

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

}

/* ==========================================================
   BADGES
========================================================== */

.pz-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    padding:10px 18px;

    border-radius:var(--pz-radius-pill);

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

    border:1px solid rgba(255,255,255,.08);

    color:var(--pz-primary);

    text-transform:uppercase;

    letter-spacing:.18em;

    font-size:12px;

    font-weight:700;

}

.pz-badge-dark{

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

}

.pz-badge-outline{

    background:transparent;

    border:1px solid var(--pz-border);

}

/* ==========================================================
   CARDS
========================================================== */

.pz-card{

    background:var(--pz-white);

    border-radius:var(--pz-radius-lg);

    padding:42px;

    transition:var(--pz-transition);

    box-shadow:var(--pz-shadow);

}

.pz-card:hover{

    transform:translateY(-8px);

}

.pz-card-dark{

    background:var(--pz-dark-2);

    color:var(--pz-white);

}

.pz-card-glass{

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

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

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

}

.pz-card-border{

    border:1px solid var(--pz-border);

}

/* ==========================================================
   FORM
========================================================== */

.pz-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.pz-label{

    font-size:14px;

    font-weight:700;

    color:var(--pz-text);

}

.pz-input,
.pz-textarea{

    width:100%;

    border:1px solid var(--pz-border);

    border-radius:var(--pz-radius-md);

    background:var(--pz-white);

    transition:var(--pz-transition);

}

.pz-input{

    height:58px;

    padding:0 20px;

}

.pz-textarea{

    min-height:180px;

    padding:20px;

    resize:vertical;

}

.pz-input:focus,
.pz-textarea:focus{

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

    box-shadow:
        0 0 0 4px rgba(255,122,26,.12);

}

.pz-input::placeholder,
.pz-textarea::placeholder{

    color:#94A3B8;

}

/* ==========================================================
   DIVIDERS
========================================================== */

.pz-divider{

    width:100%;

    height:1px;

    background:var(--pz-border);

}

.pz-divider-dark{

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

}