/*guestbook form stuff*/
.form-container {
    padding: 0px;
    margin: auto;
    max-width: 95%;
    width: min(1000px, 95%);
    /* mobile: responsive instead of fixed width */
    border-radius: 10px;
    margin-bottom: 30px;
    transform: scale(0.7);
    transform-origin: top center;
}

.input-top {
    font-family: 'Roboto Mono', sans-serif;
    font-size: max(16px, 1rem);
    width: 100%;
    margin: 1px;
    box-sizing: border-box;
    padding: 2px;
}
.input-bot {
    font-family: 'Roboto Mono', sans-serif;
    font-size: max(16px, 1rem);
    width: 100%;
    margin: 1px;
    box-sizing: border-box;
    padding: 3px;
}
/*pfp selection stuff*/
.pfp-selector-container { /*container for pfp selector and submit button*/
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 2%;
}
.submit {
    justify-content:right;
    padding: 1px;
    width: 450px;
    max-width: 100%;
}
/* simple color picker styling */
.color-picker-simple {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    font-family: 'Roboto Mono', sans-serif;
    font-size: 0.9rem;
}

.color-picker-simple input[type="color"] {
    width: 60px;
    height: 40px;
    border: none;
    border-radius: 4px;
    cursor: url("../images/cursor.cur"), pointer;
    background: none;
}

.pfp-selector-container input{ /*modifies only "inputs" within div called*/
    margin:0;padding:0;
    -webkit-appearance:none;
        -moz-appearance:none;
            appearance:none;
}
.pfp-selector{ /*facilitates the replacement of radio buttons with images based on function called*/
                /*example: [class="pfp-selector pfp1"] calls pfp1 image which inherets variable instructions*/
    cursor: url("../images/cursor.cur"), pointer;
    background-size:contain;
    background-repeat:no-repeat;
    width: calc(14.28%) !important; /*7 pfps per row (100/7 = 14.28%)*/
    aspect-ratio: 1; /*always square*/
    transition: all 100ms ease;
    opacity: 0.5;
}
.pfp-selector:hover{ 
    opacity: 1;
    
}

.pfp-selector-container input:checked + .pfp-selector {
    opacity: 1;
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.8),
                inset 0 0 10px rgba(255, 255, 255, 0.402); /*border+glow*/
}



/*list of pfps*/
.pfp1{background-image:url(../images/pfp/pfp1.webp);}
.pfp2{background-image:url(../images/pfp/pfp2.webp);}
.pfp3{background-image:url(../images/pfp/pfp3.webp);}
.pfp4{background-image:url(../images/pfp/pfp4.webp);}
.pfp5{background-image:url(../images/pfp/pfp5.webp);}
.pfp6{background-image:url(../images/pfp/pfp6.webp);}
.pfp7{background-image:url(../images/pfp/pfp7.webp);}
.pfp8{background-image:url(../images/pfp/pfp8.webp);}
.pfp9{background-image:url(../images/pfp/pfp9.webp);}
.pfp10{background-image:url(../images/pfp/pfp10.webp);}
.pfp11{background-image:url(../images/pfp/pfp11.webp);}
.pfp12{background-image:url(../images/pfp/pfp12.webp);}
.pfp13{background-image:url(../images/pfp/pfp13.webp);}
.pfp14{background-image:url(../images/pfp/pfp14.webp);}
.pfp15{background-image:url(../images/pfp/pfp15.webp);}
.pfp16{background-image:url(../images/pfp/pfp16.webp);}
.pfp17{background-image:url(../images/pfp/pfp17.webp);}
.pfp18{background-image:url(../images/pfp/pfp18.webp);}
.pfp19{background-image:url(../images/pfp/pfp19.webp);}
.pfp20{background-image:url(../images/pfp/pfp20.webp);}
.pfp21{background-image:url(../images/pfp/pfp21.webp);}
.pfp22{background-image:url(../images/pfp/pfp22.webp);}
.pfp23{background-image:url(../images/pfp/pfp23.webp);}
.pfp24{background-image:url(../images/pfp/pfp24.webp);}
.pfp25{background-image:url(../images/pfp/pfp25.webp);}
.pfp26{background-image:url(../images/pfp/pfp26.webp);}
.pfp27{background-image:url(../images/pfp/pfp27.webp);}
.pfp28{background-image:url(../images/pfp/pfp28.webp);}

/*dedicated admin pfps*/
.admin-pfp1{background-image:url(../images/pfp/admin-pfp1.webp);}
.admin-pfp2{background-image:url(../images/pfp/admin-pfp2.webp);}
.admin-pfp3{background-image:url(../images/pfp/admin-pfp3.webp);}


/*comment section styling*/
.comments-section {
    margin-top: 30px;
}

.comment {
    border: 2px solid rgba(255, 255, 255, 0.5);
    padding: 15px;
    margin: 15px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px 15px;
    position: relative; /* For admin badge positioning */
}

/* NEW: Admin comment special styling */
.comment.admin-comment {
    background: rgba(255,255,255,0.2);
    border: 2px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}

.comment-pfp {
    background-size:contain;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* NEW: Admin pfp gets special glow */
.comment.admin-comment .comment-pfp {
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    border: 2px solid rgba(255, 255, 255, 0.4);
}

.comment-content {
    flex: 1;
}

.comment-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 19px;   
}

.comment-name {
    font-weight: 400 !important;
    font-size: 1rem;
}

/* Admin name styling - WHITE VERSION */
.comment.admin-comment .comment-name {
    color: #ffffff !important;
    font-weight: 900 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
    /* Remove any gradient effects */
    background: none !important;
    -webkit-background-clip: unset !important;
    -webkit-text-fill-color: #ffffff !important;
    background-clip: unset !important;
}

.comment-website {
    color: rgba(255, 255, 255, 0.525);
    text-decoration: none;
    margin-left: 5px;
    margin-top: 13px;
}

.comment-date {
    font-size: 0.75rem;
    opacity: 0.8;
}

.comment-message {
    flex-basis: 100%;
    margin: 0;
    line-height: 1.4;
    word-wrap: break-word;
    font-size: 0.95rem;
    font-family: 'Roboto Mono', sans-serif;
}

/* NEW: Admin message gets subtle enhancement */
.comment.admin-comment .comment-message {
    font-weight: 300;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.no-comments {
    text-align: center;
    background: rgba(255,255,255,0.1);
    padding: 15px;
    margin: 15px 0;
    border-radius: 10px;
}

/* link warning overlay system */
.link-warning-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.link-warning-modal {
    background: #fff;
    color: #333;
    padding: 25px;
    border-radius: 12px;
    max-width: 500px;
    width: 90%;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    text-align: center;
}

.link-warning-modal h3 {
    margin-top: 0;
    color: #d63384;
    font-family: 'Roboto', sans-serif;
}

.link-warning-url {
    background: #f8f9fa;
    padding: 10px;
    border-radius: 6px;
    margin: 15px 0;
    word-break: break-all;
    font-family: 'Roboto Mono', monospace;
    font-size: 14px;
    border: 1px solid #dee2e6;
}

.link-warning-buttons {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 20px;
}

.link-warning-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: url("../images/cursor.cur"), pointer;
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-continue {
    background: #d63384;
    color: white;
}

.btn-continue:hover {
    background: #b02a5b;
}

.btn-cancel {
    background: #6c757d;
    color: white;
}

.btn-cancel:hover {
    background: #5a6268;
}

/* ADMIN COMMENT STYLING - Add to end of style-guestbook.css */

/* Admin comment container - bright and obvious */
.comment.admin-comment {
    background: rgb(255 255 255 / 0%) !important;
    border: 2px solid rgba(255, 255, 255, 0.6) !important;
    box-shadow: 0 0 20px rgb(255 255 255) !important;
    position: relative !important;
}

/* Admin name styling */
.comment.admin-comment .comment-name {
    font-weight: 400 !important;
    text-shadow: 0 1px 2px rgba(158, 158, 158, 0.3) !important;
}

/* Admin pfp glow */
.comment.admin-comment .comment-pfp {
    box-shadow: 0 0 15px rgba(167, 167, 167, 0.6) !important;
    border: 3px solid #ffffff !important;
}

/* Sparkling admin pfp — tinkerbell-style twinkle to denote admin posts, see sparkle-cursor.js */
.comment.admin-comment .comment-pfp,
.reply-comment.admin-comment .comment-pfp {
    position: relative;
    overflow: visible;
}

.comment.admin-comment .comment-pfp::before,
.comment.admin-comment .comment-pfp::after,
.reply-comment.admin-comment .comment-pfp::before,
.reply-comment.admin-comment .comment-pfp::after {
    content: "✦";
    position: absolute;
    color: #fceaff;
    text-shadow: 0 0 6px #fceaff, 0 0 12px rgba(255, 255, 255, 0.8);
    pointer-events: none;
    opacity: 0;
    animation: pfpSparkleTwinkle 1.8s ease-in-out infinite;
}

.comment.admin-comment .comment-pfp::before,
.reply-comment.admin-comment .comment-pfp::before {
    top: -8px;
    right: -6px;
    font-size: 16px;
    animation-delay: 0s;
}

.comment.admin-comment .comment-pfp::after,
.reply-comment.admin-comment .comment-pfp::after {
    bottom: -4px;
    left: -8px;
    font-size: 11px;
    animation-delay: 0.9s;
}

@keyframes pfpSparkleTwinkle {
    0%, 100% { opacity: 0; transform: scale(0.3) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.15) rotate(25deg); }
}

/* Glow animation */
@keyframes adminGlow {
    0%, 100% { 
        box-shadow: 0 0 20px rgba(170, 170, 170, 0.4) !important;
    }
    50% { 
        box-shadow: 0 0 30px rgba(168, 168, 168, 0.7) !important;
    }
}

.comment.admin-comment {
    animation: adminGlow 4s ease-in-out infinite !important;
}
/* REPLY FEATURE - FIXED LAYOUT */

/* Reply comment styling - minimal with pfp and indent */
.reply-comment {
    margin-left: 65px; /* Indent from the parent comment */
    margin-top: 15px;
    display: block;
    gap: 15px;
    backdrop-filter: blur(10px);

}

/* Reply uses same structure as regular comments */
.reply-comment .comment-content {
    flex: 1;
    min-width: 0; /* Allow content to shrink properly */
}

/* FIXED: Reply header matches parent comment layout - no wrap */
.reply-comment .comment-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 8px !important;
    flex-wrap: nowrap !important; /* Prevent wrapping */
    gap: 10px !important; /* Add gap between name and date */
}

/* Left side - reply indicator/name - allow to shrink */
.reply-comment .comment-header > div:first-child {
    flex: 1;
    min-width: 0; /* Allow text to wrap if needed */
}

/* Reply pfp - uses same pfp classes as parent comments */
.reply-comment .comment-pfp {
    background-size: contain;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Reply indicator and name on the left */
.reply-indicator {
    font-weight: bold;
    font-size: 0.7rem;
}

/* Date on the right - matches parent comment styling - never shrink */
.reply-comment .comment-date {
    font-size: 0.75rem;
    opacity: 0.8;
    white-space: nowrap; /* Keep date on one line */
    flex-shrink: 0; /* Don't allow date to shrink */
    margin-left: 6%;
}

.reply-comment .comment-message {
    margin: 0;
    line-height: 1.4;
    word-wrap: break-word;
    font-family: 'Roboto Mono', sans-serif;
    margin-left: 6%;
}

/* Admin reply gets crown */
.reply-comment.admin-comment .comment-name::before {
    content: "➥ ";
}

/* pfp extras toggle */
.pfp-extras {
    display: contents; /* transparent to flex on desktop — 7-per-row layout unchanged */
}
.pfp-toggle {
    display: none; /* hidden on desktop */
}

/* Mobile responsive */
@media (max-width: 768px) {
    .pfp-extras {
        display: none; /* hidden by default on mobile */
        flex-wrap: wrap;
        width: 100%;
    }
    .pfp-extras.open {
        display: flex;
    }
    .pfp-toggle {
        display: block;
        width: 100%;
        margin-top: 4px;
        padding: 6px;
        font-family: 'Roboto Mono', sans-serif;
        font-size: 0.75rem;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.4);
        color: white;
        cursor: url("../images/cursor.cur"), pointer;
        border-radius: 4px;
    }
    .pfp-toggle:hover {
        background: rgba(255, 255, 255, 0.2);
    }
    .comment-date {
        font-size: 0.8rem;
    }
    .comment-name {
        font-size: 1rem;
    }
    .comment-message {
        font-size: 0.9rem;
    }
    .reply-comment {
        margin-left: 6% !important;
    }
    .reply-comment .comment-message {
        margin-left: 6%;
    }
    .comment-pfp {
        width: 50px;
        height: 50px;
    }
    .reply-comment .comment-pfp {
        width: 50px;
        height: 50px;
    }
    .form-container {
        max-width: 90%;
        width: min(90%, 100%);
        transform: scale(1);
    }
    .color-picker-simple {
        font-size: 0.8rem;
    }
    .color-picker-simple input[type="color"] {
        width: 90px;
        height: 40px;
    }
    .pfp-selector {
        width: calc(25%) !important; /* 4 pfps per row on mobile */
    }
}