* {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
}

@font-face {
        font-family: "Gallery Modern";
        src: url('../fonts/gallerymodern-webfont.woff2') format('woff2'),
                url('../fonts/gallerymodern-webfont.woff') format('woff');
        font-weight: normal;
        font-style: normal;
}

/* Firefox */
.wrapper {
        /* make scrollbar thin in Firefox and apply colors */
        scrollbar-width: thin;
        scrollbar-color: #ffda0a #222222; /* thumb track */
}

/* WebKit browsers (Chrome, Safari, Edge) */
.wrapper::-webkit-scrollbar {
        width: 8px;              /* slim width */
        height: 8px;             /* for horizontal scrollbars */
}

.wrapper::-webkit-scrollbar-track {
        background: #222222;
        border-radius: 999px;
        margin: 6px;             /* creates a little breathing room */
}

.wrapper::-webkit-scrollbar-thumb {
        background: linear-gradient(180deg, #ffda0a 0%, #e6c200 100%);
        border-radius: 999px;
        border: 2px solid #222222;            /* thin outline to separate from track */
        box-shadow: inset 0 0 2px rgba(0,0,0,0.35);
        min-height: 24px;                     /* keeps the thumb usable on short content */
}

/* Hover/active state for a nicer feel */
.wrapper::-webkit-scrollbar-thumb:hover,
.wrapper::-webkit-scrollbar-thumb:active {
        background: linear-gradient(180deg, #ffd700 0%, #d9b300 100%);
        transform: translateZ(0); /* enable GPU for smoother hover on some browsers */
}

/* Corner (when both scrollbars visible) */
.wrapper::-webkit-scrollbar-corner {
        background: #222222;
}

::selection {
        background: #ffda0a;
        color: white;
}

::-moz-selection {
        background: #ffda0a;
        color: white;
}

body {
        font-family: "Lato", sans-serif;
        font-size: 22px;
        color: #fff;
        cursor: url("../images/cursor.png") 0 0, auto;
}

a {
        text-decoration: none;
}

a:hover,
button:hover {
        cursor: url("../images/cursor.png") 0 0, auto;
}

.galleryfont{
        font-family: 'Gallery Modern', sans-serif;
}

.wrapper {
        height: 100vh;
        width: 100%;
        background: url('../images/body-bg.jpg') no-repeat center center / cover;
        background-attachment: fixed;
        padding: 40px 0;
        overflow: auto;
}

.footer {
        width: 100%;
        text-align: center;
        margin-top: 40px;
}

.footer i {
        color: #ffda0a;
}

.share-blur {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        background: rgba(255, 255, 255, 0);
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(4.8px);
        -webkit-backdrop-filter: blur(4.8px);
        
        display: flex;
        align-items: center;
        justify-content: center;

        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease;
        z-index: 999;
}

.share-blur.active {
        opacity: 1;
        visibility: visible;
}

.share-box {
        position: relative;
        width: clamp(250px, 90%, 500px);
        margin: 60px auto;
        background: #fff;
        color: #222;
        border-radius: 20px;
        padding: 20px;

        transform: translateY(-20px);
        transition: transform 0.3s ease;
}

.share-blur.active .share-box {
        transform: translateY(0);
}

.share-title {
        text-align: center;
        color: #222;
}

.share-cancel {
        position: absolute;
        top: 18px;
        right: 18px;
        width: 40px;
        height: 40px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 0.9em;
        border-radius: 10px;
        transition: all 0.3s;
}

.share-cancel:hover {
        font-size: 1em;
        transition: all 0.3s;
}

.share-img {
        width: 100%;
        border: 20px;
        background: #222;
        color: #fff;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 20px 0;
        padding: 40px 20px;
        border-radius: 20px;
}

.share-img-box{
        width: 80px;
        height: 80px;
        border-radius: 100%;
        overflow: hidden;
}

.share-img-box img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
}

.share-name {
        display: flex;
        gap: 5px;
        font-size: 1.1em;
        margin-top: 20px;
}

.share-name img {
        width: 15px;
}

.share {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 10px;
}

.share:hover .share-media {
        background: #929292;
        transition: all 0.3s;
}

.share-options {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 15px;
        font-size: 0.7em;
        margin: 40px 0 20px;
}

.share-options a {
        color: #222;
}

.share .share-media {
        width: 50px;
        height: 50px;
        background: #535353;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
        color: #fff;
        transition: all 0.3s;
}

.card {
        width: clamp(300px, 90%, 600px);
        min-height: 100%;
        background: rgba(255, 255, 255, 0);
        border-radius: 16px;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(14.9px);
        -webkit-backdrop-filter: blur(14.9px);
        border: 1px solid rgba(255, 255, 255, 0.29);
        margin: 0 auto;
        overflow: hidden;
}

.cover-section {
        width: 100%;
        height: 250px;
        overflow: hidden;
        position: relative;
        border-bottom: 2px solid #ffda0a;
}

.cover-section img.cover-img {
        position: absolute;    /* <-- important */
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;

        opacity: 0;
        filter: blur(10px);
        transition: opacity 1s ease, filter 1s ease;
        z-index: 0;            /* images behind overlay/text */
}

.cover-section img.cover-img.active {
        opacity: 1;
        filter: blur(0);
        z-index: 0;
}

.cover-section .dark-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #0000008c;
        z-index: 1;
        pointer-events: none; /* so it doesn't block clicks */
}

button.share-icon {
        z-index: 2;
        position: absolute;
        top: 15px;
        right: 15px;
        width: 50px;
        height: 50px;
        background: none;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100%;
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
        backdrop-filter: blur(4.5px);
        -webkit-backdrop-filter: blur(4.5px);
        border: 1px solid rgba(255, 255, 255, 0.29);
        color: #ffda0a;
        transition: all 0.3s;
}

button.share-icon:hover {
        background: #ffffff17;
        transition: all 0.3s;
}

.cover-text {
        z-index: 2;
        position: absolute;
        top: 40%;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        padding: 0 10px;
        text-align: center;
        color: #ffda0a;
        font-family: monospace;
        font-size: 0.9em;
        text-shadow: 0px 0px 6px rgba(0,0,0,0.6);
}

#typing {
        border-right: 2px solid #ffda0a;
}

.profile-img {
        position: relative;
        width: 150px;
        height: 150px;
        border: 4px solid #ffda0a;
        border-radius: 100%;
        padding: 4px;
        margin: -75px auto 0 auto;
        z-index: 2;
}

.profile-img-wrap {
        width: 100%;
        height: 100%;
        border-radius: 100%;
        overflow: hidden;
}

.profile-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
}

.name {
        width: 90%;
        margin: 5px auto 20px auto;
        text-align: center;
        text-shadow: 0px 0px 10px #000000,
                0px 0px 10px #000000,
                0px 0px 10px #000000;
}

.name .username {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2em;
}

.name .username img {
        width: 20px;
        margin-left: 10px;
}

.full-name {
        font-size: 0.8em;
}

.social-icons {
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 20px;
        text-shadow: 0px 0px 10px #000000;
}

.social-icons a {
        color: #ffda0a;
        /* font-size: 0.8em; */
        transition: all 0.3s;
}

.social-icons a:hover {
        transform: scale(1.2);
        transition: all 0.3s;
}

/* Popup styles */
#copy-popup {
        position: fixed;
        bottom: 30px;
        left: 50%;
        transform: translateX(-50%);
        background: #333;
        color: #fff;
        padding: 10px 16px;
        border-radius: 6px;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.5s ease;
        font-size: 14px;
        z-index: 9999;
}
#copy-popup.show {
        opacity: 1;
}

.links {
        width: 100%;
        padding: 0 20px;
        margin: 40px 0 20px 0;
}

.link-item {
        width: 100%;
        margin: 20px 0;
        list-style: none;
        display: flex;
}

.link-item a.btn {
        width: 100%;
        height: 65px;
        background: #ffda0a;
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: #222222;
        border: 2px solid #222222;
        border-radius: 25px;
        font-size: 0.8em;
        padding: 5px 10px;
        transition: all 0.3s;
}

.link-item a.btn:hover {
        background: #dbbb06;
        -webkit-box-shadow: 1px 4px 0px 2px #000000; 
        box-shadow: 1px 4px 0px 2px #000000;
        transition: all 0.3s;
}

.link-item a.btn.disabled {
        background: #7a6800;
}

.link-item a.btn.disabled .btn-copy-link {
        visibility: hidden;
}

.btn-thumbnail {
        width: 45px;
        height: 45px;
        border-radius: 15px;
        overflow: hidden;
}

.btn-thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
}

.btn-text {
        text-align: center;
}

.font-small {
        font-size: 0.9em;
}

.font-smaller {
        font-size: 0.7em;
}

.btn-copy-link {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7em;
        border-radius: 10px;
        overflow: hidden;
        transition: all 0.3s;
}

.btn-copy-link:hover {
        background: #222;
        color: #ffda0a;
        transition: all 0.3s;
}

/* .qrcode-wrap {
        width: 220px;
        height: 220px;
        padding: 10px;
        border: 4px solid #000;
        display: flex;
        align-items: center;
        justify-content: center;
} */