/* ==========================================================
   polish2.css — acabados: ventanas opacas, sellos de pasaporte,
   postal del próximo viaje y vista previa del tema
   ========================================================== */

/* ventanas y menús opacos (nada de ver la pantalla de detrás a través) */
.overlay .win, .popmenu, .toast, .startmenu { background: #fffafd; backdrop-filter: none; -webkit-backdrop-filter: none; }
[data-skin="night"] .overlay .win, [data-skin="night"] .popmenu, [data-skin="night"] .toast, [data-skin="night"] .startmenu { background: #2a1f4d; }
.overlay { background: rgba(60, 30, 100, .38); }
.overlay .win-title { background: linear-gradient(180deg, #ffffff, #f8f1ff); }
[data-skin="night"] .overlay .win-title { background: linear-gradient(180deg, #3a2c66, #2d2152); }

/* ---------- sello de pasaporte ---------- */
.pass-main { position: relative; }
.stamp-ink {
  position: absolute; right: 16px; top: 54px; z-index: 2; pointer-events: none;
  display: flex; flex-direction: column; align-items: center; line-height: 1;
  padding: 7px 12px 6px; border: 3px double var(--tc-d); border-radius: 10px; color: var(--tc-d);
  font-family: "Silkscreen", monospace; font-weight: 700; font-size: 15px; letter-spacing: .08em;
  transform: rotate(-12deg); opacity: .78; mix-blend-mode: multiply;
  background: radial-gradient(circle at 30% 40%, transparent 60%, color-mix(in srgb, var(--tc-d) 10%, transparent));
  animation: stamp-in .35s cubic-bezier(.3, 1.8, .5, 1) backwards;
}
.stamp-ink small { font-size: 7px; letter-spacing: .14em; margin-top: 3px; font-weight: 400; }
.stamp-ink.hot { color: #e8268a; border-color: #e8268a; }
.stamp-ink.past { color: #6b6f8a; border-color: #6b6f8a; transform: rotate(8deg); }
[data-skin="night"] .stamp-ink { mix-blend-mode: normal; }
@keyframes stamp-in { from { transform: rotate(-12deg) scale(1.8); opacity: 0; } }
.pass-hero .stamp-ink { bottom: auto; top: 64px; right: 26px; font-size: 20px; padding: 9px 16px 8px; }

/* ---------- próximo viaje con su monumento ---------- */
.next-pill.themed { padding-left: 6px; }
.np-art {
  flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: end center; overflow: hidden; padding: 4px 6px 0;
  background: linear-gradient(180deg, var(--sky1), var(--sky2)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.8), 0 4px 10px -4px var(--tc);
}
.np-art .px { width: auto; max-width: 100%; height: 44px; image-rendering: pixelated; }
.next-pill.themed em { background: var(--tc-l); color: var(--tc-d); }

/* ---------- vista previa del tema en el formulario ---------- */
.place-hint { border-radius: 18px; }
.place-preview { margin-top: 10px; }
.place-preview .theme-banner { height: 120px; --k: .62; border-radius: 16px; }
.place-preview .tb-scene { bottom: 34px; }
.place-preview .tb-ground { bottom: 22px; height: 12px; }
.place-preview .tb-tag { height: 22px; font-size: 9px; }
.place-preview .px-w { margin-bottom: 50px; }
.place-preview .px-s { margin-bottom: 22px; }
.place-hint:has(input[name="place"]:not(:checked)) .place-preview { opacity: .35; filter: grayscale(.8); }

/* ---------- detalles ---------- */
.tb-tag { text-shadow: 0 1px 0 rgba(0,0,0,.25); }
.theme-banner::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(255,255,255,.06) 0 2px, transparent 2px 4px);
}
.pass-hero .theme-banner, .theme-banner { isolation: isolate; }
@media (max-width: 640px) {
  .stamp-ink { right: 10px; top: 50px; font-size: 12px; padding: 5px 9px 4px; }
  .pass-hero .stamp-ink { top: 58px; right: 14px; font-size: 14px; }
}
