/*
 * ---------------------------------------------
 * 1 - Additionals
 * ---------------------------------------------
 */

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../fonts/Roboto-Condensed-Light.woff2) format('woff2');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/Roboto-Condensed-Regular.woff2) format('woff2');
}

@font-face {
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/Roboto-Condensed-Bold.woff2) format('woff2');
}

/*
 * ---------------------------------------------
 * Link
 * ---------------------------------------------
 */

.link {
    font-family: "Roboto Condensed", Arial, sans-serif;
    color: rgb(173, 168, 162);
    margin: 0;
    padding: 0;
}

.link-container {
    width: 90%;
    max-width: 800px;
    margin: 20px auto;
    padding: 20px;
    text-align: center;
}

.link-container .link-heading {
    text-align: center;
    font-size: 38px;
    font-weight: bold;
    margin-bottom: 20px;
    color: rgb(220, 211, 202);
}

.link-container .link-info {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
    color: rgb(220, 211, 202);
}

.link-table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(32, 36, 32, 0.95) !important;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 auto;
    text-align: center;
}

.link-table td {
    padding: 15px;
    text-align: center;
    vertical-align: middle;
}

.link-row {
    color: rgb(220, 211, 202);
    text-transform: uppercase;
    font-weight: bold;
    font-size: 26px;
    text-align: center;
    margin-top: 20px;
    vertical-align: baseline;
    border-bottom: 1px solid  rgb(173, 168, 162);
}

.link-avatar {
    height: 120px;
    width: 120px;
    border-radius: 50%;
}

.link-highlight {
    color: rgb(166, 205, 99);
    font-weight: bold;
}

.text-mobile {
    display: none;
}

.text-desktop {
    display: inline;
}

@media (max-width: 768px) {
    .text-mobile { display: inline; }
    .text-desktop { display: none; }
}

.btn {
    transition: background 0.2s ease, transform 0.2s ease, filter 0.2s ease;
    border-radius: 0;
    border: 0;
    padding: 12px 18px;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 18px;
    cursor: pointer;
    margin-top: 5px;
}
.btn.btn-primary {
    background: rgb(61, 75, 39);
    color: rgb(166, 205, 99);
}
.btn.btn-primary:hover { background: rgb(88, 108, 57); }
.btn.btn-secondary {
    background: rgb(29, 66, 95);
    color: rgb(72, 154, 212);
}
.btn.btn-secondary:hover { background: rgb(39, 85, 121); }
.btn.btn-disabled {
    background: rgb(89, 85, 82);
    color: rgb(204, 195, 190);
}
.btn.btn-disabled:hover { background: rgb(111, 107, 103); }
.btn.btn-danger {
    background: rgb(150, 47, 32);
    color: rgb(199, 152, 151);
}
.btn.btn-danger:hover { background: rgb(172, 56, 39); }

/* Focus outline for accessibility */
.btn:focus-visible {
    outline: 2px solid rgba(166, 205, 99, 0.9);
    outline-offset: 2px;
}

/* -------- Attention pulse just for CTA -------- */
.cta-pulse {
    position: relative;                 /* required for the halo */
    animation: pulseGlow 1.8s ease-in-out infinite;
    box-shadow: 0 0 0 rgba(0,0,0,0);    /* reset */
}

.cta-pulse::after {
    content: "";
    position: absolute;
    inset: -6px;                         /* halo spread */
    border-radius: 6px;                  /* slight rounding around square button */
    box-shadow: 0 0 18px rgba(125, 255, 125, 0.35);
    opacity: 0;
    animation: halo 1.8s ease-in-out infinite;
    pointer-events: none;
}

@keyframes pulseGlow {
    0%, 100% { transform: scale(1);    filter: none; }
    50%      { transform: scale(1.02); filter: brightness(1.08); }
}

@keyframes halo {
    0%, 100% { opacity: 0; box-shadow: 0 0 18px rgba(125, 255, 125, 0); }
    50%      { opacity: 1; box-shadow: 0 0 26px rgba(125, 255, 125, 0.45); }
}

/* Slight lift on hover for CTA too */
.cta-pulse:hover,
.cta-pulse:focus {
    transform: scale(1.03);
    filter: brightness(1.1);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .cta-pulse,
    .cta-pulse::after {
        animation: none !important;
    }
}

@media (max-width: 768px) {
    .btn {
        font-size: 14px;
        padding: 10px 15px;
    }
}

@media (max-width: 480px) {
    .btn {
        font-size: 14px;
        padding: 8px 12px;
    }
}

@media (min-width: 769px) {
    .link-table { display: table; }
    .link-table tr { display: table-row; }
    .link-table td { display: table-cell; }
}

@media (max-width: 768px) {
    .link-table {
        display: flex;
        flex-direction: column;
    }
    .link-table tr {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 768px) {
    .link-row {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        font-size: 20px;
    }
}

.copy-container {
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: Arial, sans-serif;
    font-size: 16px;
}
.copy-icon {
    cursor: pointer;
    font-size: 18px;
    color: #007bff;
}
.copy-icon:hover { color: #0056b3; }
