/* V21 — refinamento visual premium sem mexer em lógica */

:root{
  --dpv-paper-cream:#fffaf7;
  --dpv-paper-cream-2:#fbf3ee;
  --dpv-paper-ink:#503743;
  --dpv-paper-ink-soft:#6b5560;
  --dpv-paper-title:#a74472;
  --dpv-paper-line:rgba(151,88,118,.15);
  --dpv-paper-line-strong:rgba(168,84,124,.22);
  --dpv-paper-shadow:0 30px 80px rgba(41,17,29,.18), 0 10px 24px rgba(66,25,45,.08);
  --dpv-paper-shadow-dark:0 34px 90px rgba(0,0,0,.30), 0 12px 28px rgba(0,0,0,.18);
  --dpv-soft-surface:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,248,251,.74));
  --dpv-soft-surface-dark:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));
}

/* ===== Carta aberta / premium ===== */
.opened-message{
  --reader-copy-width:70ch;
}

#previewDeviceBox.preview-device-desktop .opened-message,
.deixei-public-mode .opened-message{
  width:min(100%,920px)!important;
  max-width:920px!important;
}

#previewDeviceBox.preview-device-desktop .paper,
.deixei-public-mode .opened-message .paper,
.opened-message .paper{
  max-width:920px!important;
}

.opened-message .paper{
  background:
    radial-gradient(circle at top center, rgba(255,255,255,.7), transparent 32%),
    linear-gradient(180deg,var(--dpv-paper-cream),var(--dpv-paper-cream-2));
  color:var(--dpv-paper-ink);
  border:1px solid var(--dpv-paper-line);
  border-radius:30px;
  box-shadow:var(--dpv-paper-shadow);
  padding:clamp(30px,4.4vw,56px)!important;
}

.opened-message .paper.paper-night,
.opened-message .paper.paper-glass{
  border-color:rgba(255,214,232,.14)!important;
  box-shadow:var(--dpv-paper-shadow-dark)!important;
}

.opened-message .paper.paper-night{
  background:
    radial-gradient(circle at top center, rgba(255,140,196,.08), transparent 34%),
    linear-gradient(180deg,rgba(33,15,28,.96),rgba(22,12,22,.97))!important;
}

.opened-message .paper.paper-glass{
  background:
    radial-gradient(circle at top center, rgba(255,255,255,.18), transparent 32%),
    linear-gradient(180deg,rgba(255,251,253,.78),rgba(251,242,247,.66))!important;
  backdrop-filter:blur(20px) saturate(1.02)!important;
}

.opened-message .paper h3{
  color:var(--dpv-paper-title)!important;
  margin:14px auto 12px!important;
  text-wrap:balance;
}

.opened-message .paper:not(.paper-night):not(.paper-glass) p,
.opened-message .paper:not(.paper-night):not(.paper-glass) .reader-copy,
.opened-message .paper:not(.paper-night):not(.paper-glass) #letterText,
.opened-message .paper:not(.paper-night):not(.paper-glass) .story-result-text,
.opened-message .paper:not(.paper-night):not(.paper-glass) .story-heading-result p,
.opened-message .paper:not(.paper-night):not(.paper-glass) .letter-signature,
.opened-message .paper:not(.paper-night):not(.paper-glass) .letter-reason,
.opened-message .paper:not(.paper-night):not(.paper-glass) .journey-copy p,
.opened-message .paper:not(.paper-night):not(.paper-glass) .memory-story .story-row,
.opened-message .paper:not(.paper-night):not(.paper-glass) li,
.opened-message .paper:not(.paper-night):not(.paper-glass) blockquote{
  color:var(--dpv-paper-ink-soft)!important;
}

.opened-message .paper.paper-night p,
.opened-message .paper.paper-night .reader-copy,
.opened-message .paper.paper-night #letterText,
.opened-message .paper.paper-night .story-result-text,
.opened-message .paper.paper-night .story-heading-result p,
.opened-message .paper.paper-night .letter-signature,
.opened-message .paper.paper-night .letter-reason,
.opened-message .paper.paper-night .journey-copy p,
.opened-message .paper.paper-night li,
.opened-message .paper.paper-night blockquote,
.opened-message .paper.paper-glass p,
.opened-message .paper.paper-glass .reader-copy,
.opened-message .paper.paper-glass #letterText,
.opened-message .paper.paper-glass .story-result-text,
.opened-message .paper.paper-glass .story-heading-result p,
.opened-message .paper.paper-glass .letter-signature,
.opened-message .paper.paper-glass .letter-reason,
.opened-message .paper.paper-glass .journey-copy p,
.opened-message .paper.paper-glass li,
.opened-message .paper.paper-glass blockquote{
  color:#f1dde7!important;
}

.opened-message .reader-copy,
.opened-message #letterText{
  margin:18px auto!important;
  letter-spacing:.003em;
}

.opened-message .story-result{
  gap:clamp(28px,4.4vw,46px)!important;
}

.opened-message .story-heading-result,
.opened-message .letter-extras,
.opened-message .memory-story,
.opened-message .reasons-cloud,
.opened-message .recipient-response,
.opened-message .reader-guestbook,
.opened-message .story-unlock,
.opened-message .story-date-result,
.opened-message .reader-media-block,
.opened-message .recipient-music,
.opened-message .story-result-photo,
.opened-message .letter-album,
.opened-message .storymap-result,
.opened-message .reader-timeline,
.opened-message .together-live{
  margin-left:auto!important;
  margin-right:auto!important;
}

.opened-message .story-heading-result{
  margin-bottom:4px!important;
}

.opened-message .letter-scroll-whisper{
  color:#b28a9b!important;
  margin:18px auto 4px!important;
}

.opened-message .letter-scroll-whisper:before,
.opened-message .letter-scroll-whisper:after,
.opened-message .heading-divider i{
  background:linear-gradient(90deg,transparent,rgba(193,129,160,.42),transparent)!important;
}

/* ===== Blocos internos ===== */
.opened-message .memory-story .story-row,
.opened-message .reader-timeline .letter-timeline-row,
.opened-message .storymap-result .journey-card,
.opened-message .storymap-result .photo-timeline-card{
  border:1px solid var(--dpv-paper-line)!important;
  box-shadow:0 12px 28px rgba(85,37,58,.06)!important;
}

.opened-message .paper.paper-night .memory-story .story-row,
.opened-message .paper.paper-night .reader-timeline .letter-timeline-row,
.opened-message .paper.paper-night .storymap-result .journey-card,
.opened-message .paper.paper-night .storymap-result .photo-timeline-card,
.opened-message .paper.paper-glass .memory-story .story-row,
.opened-message .paper.paper-glass .reader-timeline .letter-timeline-row,
.opened-message .paper.paper-glass .storymap-result .journey-card,
.opened-message .paper.paper-glass .storymap-result .photo-timeline-card{
  border-color:rgba(255,234,244,.10)!important;
  box-shadow:none!important;
}

.opened-message .reasons-cloud{
  gap:10px!important;
  margin-top:10px!important;
}

.opened-message .reasons-cloud span{
  padding:10px 14px!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(250,241,246,.88))!important;
  border:1px solid rgba(170,96,130,.16)!important;
  color:#7a5064!important;
  box-shadow:0 10px 20px rgba(95,42,66,.05);
}

.opened-message .paper.paper-night .reasons-cloud span,
.opened-message .paper.paper-glass .reasons-cloud span{
  background:var(--dpv-soft-surface-dark)!important;
  border-color:rgba(255,222,237,.13)!important;
  color:#f4dce8!important;
}

/* ===== Foto / álbum ===== */
.opened-message .story-result-photo figure,
.opened-message .album-card,
.opened-message .album-deck-card,
.opened-message .album-carousel-stage,
.opened-message .album-collage-item{
  box-shadow:0 18px 42px rgba(63,28,45,.10)!important;
}

.opened-message .story-result-photo figure,
.opened-message .album-card{
  border:1px solid rgba(159,96,124,.14)!important;
}

.opened-message .story-result-photo strong,
.opened-message .album-card strong,
.opened-message .letter-album-head h4{
  color:#834c63!important;
}

.opened-message .story-result-photo small,
.opened-message .album-card small,
.opened-message .letter-album-head p{
  color:#90707e!important;
}

/* ===== Vídeo / música ===== */
.opened-message .reader-media-block,
.opened-message .recipient-music{
  width:min(100%,760px)!important;
}

.opened-message .reader-media-block,
.opened-message .recipient-music{
  padding:14px!important;
  border-radius:26px!important;
  background:var(--dpv-soft-surface)!important;
  border:1px solid rgba(171,99,132,.15)!important;
  box-shadow:0 20px 45px rgba(71,30,51,.08)!important;
}

.opened-message .paper.paper-night .reader-media-block,
.opened-message .paper.paper-night .recipient-music,
.opened-message .paper.paper-glass .reader-media-block,
.opened-message .paper.paper-glass .recipient-music{
  background:var(--dpv-soft-surface-dark)!important;
  border-color:rgba(255,225,238,.11)!important;
  box-shadow:none!important;
}

.opened-message .reader-media-kicker,
.opened-message .recipient-music .mini-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 0 10px;
  font-size:11px!important;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#b17793!important;
  font-weight:800;
}

.opened-message .reader-media-kicker::before,
.opened-message .recipient-music .mini-label::before{
  content:"";
  width:26px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(188,108,144,.55),transparent);
}

.opened-message .story-result-media .media-shell,
.opened-message .recipient-music iframe,
.opened-message .recipient-music video,
.opened-message .recipient-music audio{
  border-radius:22px!important;
}

.opened-message .story-result-media .media-shell{
  overflow:hidden;
  background:linear-gradient(180deg,rgba(39,22,31,.98),rgba(18,12,17,.98))!important;
  border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 24px 50px rgba(23,12,18,.24)!important;
}

.opened-message .video-result-shell iframe,
.opened-message .video-result-shell video,
.opened-message .recipient-music iframe,
.opened-message .recipient-music video{
  width:100%;
  display:block;
  background:#120c12;
  aspect-ratio:16/9;
}

.opened-message .spotify-result-shell iframe{
  display:block;
  width:100%;
  min-height:152px;
  background:#120c12;
}

.opened-message .audio-shell{
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
}

.opened-message .story-result-media .media-caption,
.opened-message .recipient-music .media-caption,
.opened-message .media-caption{
  padding:13px 16px!important;
  color:#ecdbe4!important;
  font-size:12px!important;
  letter-spacing:.01em;
}

.opened-message .hidden-music-cover{
  min-height:170px!important;
  border-radius:24px!important;
  background:linear-gradient(145deg,#fff7fb,#f7e8f0)!important;
  border:1px solid rgba(201,95,139,.16)!important;
  box-shadow:0 18px 38px rgba(90,40,62,.08)!important;
}

.opened-message .hidden-music-cover strong{color:#6a3d53!important}
.opened-message .hidden-music-cover small{color:#9b7888!important}

/* ===== Formulários/ações finais ===== */
.opened-message .story-unlock,
.opened-message .reader-guestbook,
.opened-message .recipient-response,
.opened-message .story-date-result{
  border-radius:26px!important;
  border:1px solid rgba(171,99,132,.16)!important;
  box-shadow:0 18px 38px rgba(86,38,59,.08)!important;
}

.opened-message .story-unlock-top strong,
.opened-message .reader-guestbook .reader-section-heading h4{
  color:#6d3c53!important;
}

.opened-message .story-unlock-top small,
.opened-message .reader-guestbook .reader-section-heading p,
.opened-message .recipient-response label{
  color:#8e6d7b!important;
}

.opened-message .story-unlock .unlock-answer,
.opened-message .reader-guestbook .guestbook-name,
.opened-message .reader-guestbook .guestbook-message,
.opened-message .recipient-response textarea{
  border-radius:18px!important;
  border:1px solid rgba(147,89,117,.18)!important;
  box-shadow:0 8px 22px rgba(86,39,60,.05)!important;
}

.opened-message .story-unlock .unlock-submit-btn,
.opened-message .reader-guestbook .guestbook-send,
.opened-message .recipient-response-btn,
.opened-message .story-unlock .btn-primary,
.opened-message .reader-guestbook .btn-primary{
  min-height:56px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ff72b0 0%,#cf63ff 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 18px 38px rgba(213,84,152,.28)!important;
}

.opened-message .story-unlock .unlock-submit-btn:hover,
.opened-message .reader-guestbook .guestbook-send:hover,
.opened-message .recipient-response-btn:hover,
.opened-message .story-unlock .btn-primary:hover,
.opened-message .reader-guestbook .btn-primary:hover{
  transform:translateY(-2px);
  filter:saturate(1.04) brightness(1.01);
}

/* ===== Cartas seladas / visão geral ===== */
.letters-grid{
  gap:14px!important;
}

.sealed-letter{
  padding:18px 18px!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.045))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.13);
}

.sealed-letter strong{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#fff7fb!important;
  font-size:clamp(18px,2vw,22px);
}

.sealed-letter small{
  margin-top:6px!important;
  color:#ceb8c3!important;
}

/* ===== Responsivo ===== */
@media (max-width:760px){
  .opened-message{--reader-copy-width:100%}
  .opened-message .paper{padding:24px 16px!important;border-radius:24px!important}
  .opened-message .reader-copy,
  .opened-message #letterText{margin:16px auto!important}
  .opened-message .reader-media-block,
  .opened-message .recipient-music{padding:10px!important;border-radius:22px!important}
  .opened-message .story-result-media .media-shell,
  .opened-message .recipient-music iframe,
  .opened-message .recipient-music video,
  .opened-message .recipient-music audio{border-radius:18px!important}
  .opened-message .story-result{gap:24px!important}
}
