/* =========================================
   GLOBAL COMPONENTS & UTILITIES
   Added dynamically to all pages for scalable UI
========================================= */

.btn-liquid {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 32px;
    margin-bottom: 24px;
    background: rgba(56, 189, 248, 0.15);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-top-color: rgba(255, 255, 255, .4);
    border-left-color: rgba(255, 255, 255, .4);
    border-radius: 100px;
    backdrop-filter: blur(12px) saturate(220%) contrast(140%) brightness(130%);
    -webkit-backdrop-filter: blur(12px) saturate(220%) contrast(140%) brightness(130%);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .25);
    font-size: 14px;
    font-weight: 600;
    color: #fff !important; /* Force white text */
    text-decoration: none;
    transition: all .3s ease;
    cursor: pointer;
}

.btn-liquid i {
    color: rgba(255, 255, 255, .8);
    font-size: 16px;
}

.btn-liquid:hover {
    background: rgba(56, 189, 248, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(56, 189, 248, .25);
    color: #fff !important;
}

/* PILL LABELS (Eyebrow replacements) */
.section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.1);
    padding: 6px 14px;
    border-radius: 50px;
    margin-bottom: 12px;
}

/* DETAILS / SUMMARY RESET (Hide default black arrows for custom components) */
details > summary {
    list-style: none;
}
details > summary::-webkit-details-marker {
    display: none;
}

/* Header Topbar Badges */
.btn-red-small { background-color: #d71921; }
.btn-purple-small { background-color: #5856D6; }
.btn-green-small { background-color: #34c759; }
.hvr-push { transition: transform 0.2s; }
.hvr-push:hover { transform: scale(1.05); }
.label { padding: 4px 10px; border-radius: 4px; font-weight: 700; text-transform: uppercase; font-size: 10px; letter-spacing: 0.5px; align-items: center; justify-content: center; display: inline-flex; color: #fff; }



/* Contact Captcha Styles */
.contact-captcha-wrapper { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.contact-captcha-label { font-size: 13px; font-weight: 600; color: #555; letter-spacing: .03em; }
.contact-captcha-box { display: flex; align-items: center; gap: 12px; }
#contactCaptchaCanvas { border-radius: 10px; border: 1.5px solid #d1d1d6; background: #f8f8fc; display: block; }
#contactCaptchaRefresh { width: 38px; height: 38px; border-radius: 50%; border: 1.5px solid #d1d1d6; background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #008aff; font-size: 14px; transition: all .2s; flex-shrink: 0; }
#contactCaptchaRefresh:hover { background: #008aff; color: #fff; border-color: #008aff; }
.contact-captcha-hint { font-size: 12px; color: #777; }
.captcha-msg-ok { color: #34c759; font-size: 12px; font-weight: 600; }
.captcha-msg-error { color: #d71921; font-size: 12px; font-weight: 600; }

