/* ==========================================================================
   The Canal Boat Bookseller - polish.css (v5 playtest fixes). Loaded last.
   ========================================================================== */

/* Visitor: photo on the left, words on the right (stacked on phones) */
.visitor-intro-card { display: grid; grid-template-columns: minmax(220px, 320px) 1fr; gap: 20px; align-items: start; }
.visitor-intro-card .visitor-avatar-wrap { width: 100%; }
.visitor-arrival-line { grid-column: 1 / -1; }
@media (max-width: 860px) {
  .visitor-intro-card { grid-template-columns: 1fr; }
}

/* Gift checkbox: explained, not a dead control, before the first bookmark exists */
.bookmark-gift-note { font-size: 15px; line-height: 1.5; color: var(--c-wood-warm); }

/* Cabin: bookmarks pinned on a board, large enough to see; cat by the stove */
.cabin-bookmarks {
  position: absolute; right: 3%; bottom: 5%; top: auto;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 8px 12px 10px;
  background: rgba(42, 27, 16, 0.82);
  border: 2px solid var(--c-wood-honey);
  border-radius: var(--r-md);
  box-shadow: 0 6px 16px rgba(0,0,0,0.4);
  cursor: pointer;
}
.cabin-bookmarks-label { font-family: var(--font-hand); font-size: 17px; color: #F2E6CC; }
.cabin-bookmarks-row { display: flex; gap: 8px; }
.cabin-bookmarks .cabin-bm { width: 50px; height: 125px; transform: none; border-radius: 3px; box-shadow: 0 3px 8px rgba(0,0,0,0.5); }
.cabin-bookmarks .cabin-bm:nth-child(even) { transform: translateY(4px); }
.cabin-cat-spot { right: auto; left: 34%; }
@media (max-width: 600px) {
  .cabin-bookmarks .cabin-bm { width: 30px; height: 75px; }
  .cabin-bookmarks-label { font-size: 15px; }
  .cabin-cat-spot { left: 30%; width: 80px; }
  .cabin-cat-spot .ship-cat { width: 80px; }
}

/* What happens after the seal */
.castoff-hint { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--c-ink-sub); font-style: italic; text-align: right; }
.castoff-hint:empty { display: none; }

/* Map caption while sailing */
.sail-caption {
  position: absolute; top: 16px; left: 50%; transform: translateX(-50%);
  z-index: 60; padding: 10px 20px;
  background: rgba(22, 41, 31, 0.92); border: 1px solid var(--c-wood-honey); border-radius: var(--r-pill);
  font-family: var(--font-serif); font-size: 17px; color: #FBF4E4;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
  animation: fadeUp 0.5s ease; transition: opacity 0.5s ease;
}
.sail-caption.is-gone { opacity: 0; }

/* Towpath die: the journal line is visibly optional */
.die-note-label { display: block; font-size: 15px; color: var(--c-ink-sub); margin-bottom: 4px; }

/* Paper choices show their colour */
.paper-select-btn { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; font-size: 15px; }
.paper-dot { width: 18px; height: 18px; border-radius: 50%; border: 1px solid rgba(0,0,0,0.2); flex-shrink: 0; }

/* Painted cat art, when provided */
.cat-img { width: 100%; height: auto; display: block; pointer-events: none; }
.cat-tail { transform-origin: 66px 98px; }

/* Painted cat sizes (the sitting cat is taller than it is wide) */
.ship-cat[data-pose="sit"] { width: 66px; }
.ship-cat[data-pose="sleep"] { width: 112px; }
.ship-cat-bubble { bottom: 70px; }
.cabin-cat-spot .ship-cat { width: 120px; }
@media (max-width: 600px) {
  .ship-cat[data-pose="sit"] { width: 54px; }
  .ship-cat[data-pose="sleep"] { width: 90px; }
  .ship-cat-bubble { left: 50px; bottom: 60px; }
}
