/* ==========================
   CONTACT BOOK FINAL POLISH
========================== */

/* CONTAINER */
.contact-wrapper,
.contextbox-about {
    overflow: hidden; /* keeps no scroll */
}
/* BOOK SIZE + PADDING */
.contact-book {
    position: relative;
    width: 100%;
    height: 100%;

    padding: 20px 20px 70px; /* 👈 bottom padding creates space for buttons */
    box-sizing: border-box;
}
/* BACKGROUND IMAGE */
.book-bg {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 👈 IMPORTANT (not fill) */
    display: block;
}

/* ==========================
   FONT BASE
========================== */
.contact-book,
.contact-book input,
.contact-book textarea,
.action-btn {
    font-family: 'DotGothic16', monospace;
}

/* ==========================
   LEFT META (EXACT STYLE)
========================== */
.book-meta {
    position: absolute;
    top: 20%;
    left: 9%;
    font-size: 13px;
    line-height: 1.7;
}
.book-meta {
    position: absolute;
    top: 20%;
    left: 9%;
    font-size: 13px;
    line-height: 1.8;
}

/* "date:" darker */
.meta-date {
    color: #4f4f4f;
}

/* actual date + day (lighter gray) */
.date-input,
.meta-day {
    display: block;
    color: #8d8d8d;
}

/* TIME (soft blue like screenshot) */
.meta-time {
    margin-top: 14px;
    color: #6ec1e4;
}


.contact-book .time {
    color: #b01e1e !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 12px;
}

/* VISITOR */
.meta-id {
    margin-top: 14px;
    color: #6f6f6f;
}

.meta-id span {
    display: block;
    color: #4f5d73;
    margin-top: 2px;
}

/* ==========================
   RIGHT PAGE FORM
========================== */
.book-form {
    position: absolute;
    top: 18%;
    right: 7%;
    width: 60%;
    height: 65%;
}

/* MESSAGE */
.book-form textarea {
    width: 100%;
    height: 70%;
    border: none;
    background: transparent;
    resize: none;
    outline: none;
    font-size: 13px;
    color: #5f5f5f;
}

/* SIGNATURE */
.signature-area {
    position: absolute;
    bottom: 55px;
 right: 16%;   /* 👈 matches signature */
    width: 50%;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #6f6f6f;
     white-space: nowrap;
}

.signature-area input {
    flex: 1;
    border: 1px dashed #c8c8c8;
    background: transparent;
    padding: 2px;
    outline: none;
}

/* EMAIL */
.email-box {
    position: absolute;
    bottom: 15px;
 right: 12%;   /* 👈 matches signature */
    width: 55%;
    border: 1px dashed #c8c8c8;
    background: transparent;
    padding: 3px;
    font-size: 12px;
    outline: none;
}
/* ==========================
   DECOR ICONS (RESTORED)
========================== */
.decor-icons {
    position: absolute;
    bottom: 18px;
    right: 10px;
    display: flex;
    gap: 6px;
    z-index: 5; /* 👈 ensures they don’t disappear */
}

.decor-icons img {
    width: 20px;
    pointer-events: none;
}

/* ==========================
   ACTION BUTTONS
========================== */
.contact-actions {
    position: absolute;
    bottom: 10px; /* 👈 sits in that new padding space */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 14px;
}

/* ARROW */
.arrow-gif {
    width: 50px;
    transform: scaleX(-1);
}
.action-btn {
    font-size: 13px;
    padding: 6px 16px;

    background: #ffffff;
    color: #5a5a5a;

    border: 1px solid #cfcfcf;

    /* soft subtle shadow */
    box-shadow: 1px 1px 0 #dcdcdc;

    white-space: nowrap;
    cursor: pointer;
}

.action-btn:hover {
    background: #f5f5f5;
}

.action-btn:active {
    transform: translateY(1px);
    box-shadow: none;
}

/* MAIL ICON */
.mail-btn {
    background: none;
    border: none;
    width: 32px;
}



.theme-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

.theme-overlay.hidden {
    display: none;
}

.theme-modal {
    background: #fff;
    border: 2px solid #000;
    padding: 16px;
    box-shadow: 4px 4px 0 #000;
    font-family: 'DotGothic16', monospace;
}

.theme-title {
    margin-bottom: 10px;
    font-size: 14px;
}

.theme-grid {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.theme-choice {
    width: 80px;
    height: 80px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid #aaa;
}

.theme-choice.active {
    border: 2px solid #000;
    transform: scale(1.05);
}

.theme-actions {
    display: flex;
    justify-content: space-between;
}

.theme-actions button {
    background: white;
    border: 1px solid black;
    padding: 4px 10px;
    box-shadow: 2px 2px 0 black;
    cursor: pointer;
}

.theme-preview {
    position: absolute;
    top: 18%;
    right: 7%;
    width: 60%;
    height: 55%;
    pointer-events: none;
    background-size: cover;
    background-position: center;
    opacity: 0.9;
    z-index: 1;
}

/* make sure form is above it */
.book-form {
    position: absolute;
    z-index: 2;
}

.cooldown-text {
  margin-top: 2px;
  font-size: 12px;
  opacity: 0.7;
}


.bulletin-board {
  position: fixed;
  right: 90%;
  top: 50%;
  transform: translateY(-30%);
  transition: all 0.5s ease;
  cursor: pointer;
  z-index: 50;
}

.board-img {
  height: 80vh;     
  width: auto;      
  min-width: 180px; /* optional safety */
  pointer-events: none;
}
.bulletin-board.active {
  transform: translate(90%, -40%);
}


/* content overlay */
.board-content {
  position: absolute;
  top: 10%;
  left: 10%;
  width: 80%;
  height: 80%;
  overflow-y: auto;
}

.hidden {
  display: none;
}

.message {
  margin-bottom: 20px;
  padding: 10px;
  background-size: cover;
  background-position: center;
  border-radius: 6px;
  color: #000;
}

.message .meta {
  font-size: 11px;
  opacity: 0.7;
  margin-bottom: 5px;
}

.message .text {
  font-size: 14px;
}

@media (max-width: 768px) {
  .bulletin-board {
    display: none;
  }
}

.message .text {
  white-space: pre-wrap;
  line-height: 1.4;
  word-break: break-word;
}