/* Страничные стили name-pozdravleniya: открытка и список текстов. */

/* ---------- Конструктор открытки ---------- */
.pc-wrap{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
@media (max-width:860px){ .pc-wrap{ grid-template-columns:1fr; } }

/* Превью держит пропорции итоговой картинки 4:5 — что видно, то и скачается. */
.pc{
  --pc-bg:#0E4D40; --pc-bg2:#093229; --pc-ink:#fff; --pc-soft:rgba(255,255,255,.78); --pc-dot:#F2C9A8;
  position:relative; overflow:hidden; aspect-ratio:4/5;
  border-radius:var(--r-card); padding:9% 9% 8%;
  display:flex; flex-direction:column; justify-content:center; gap:4%;
  background:radial-gradient(120% 90% at 0% 0%, var(--pc-bg) 0%, var(--pc-bg2) 100%);
  color:var(--pc-ink); text-align:center;
}
.pc-night{ --pc-bg:#2B2A5A; --pc-bg2:#14132E; --pc-dot:#F6D77A; }
.pc-clay{ --pc-bg:#D9773F; --pc-bg2:#A0491C; --pc-dot:#FFE6CC; }
.pc-winter{ --pc-bg:#2A5D8F; --pc-bg2:#0F2944; --pc-dot:#FFFFFF; }
.pc-rose{ --pc-bg:#D46A8C; --pc-bg2:#962E55; --pc-dot:#FFE3EC; }
.pc-khaki{ --pc-bg:#56652F; --pc-bg2:#2C3518; --pc-dot:#E8D9A8; }
.pc-confetti{ --pc-bg:#FFF6EC; --pc-bg2:#F7E3CF; --pc-ink:#14140F; --pc-soft:#56564C; --pc-dot:#C7622E; }
.pc-paper{ --pc-bg:#FAFAF9; --pc-bg2:#EDEDE6; --pc-ink:#14140F; --pc-soft:#56564C; --pc-dot:#0E4D40; }

.pc-to{ position:relative; margin:0; font-family:var(--f-head); font-weight:600;
  font-size:clamp(20px,3.4vw,30px); line-height:1.2; }
.pc-text{ position:relative; margin:0; color:var(--pc-soft); font-size:clamp(14px,1.8vw,17px);
  line-height:1.55; white-space:normal; }
.pc-sign{ position:relative; margin:0; font-size:14px; color:var(--pc-soft); font-style:italic; }
.pc-sign:empty{ display:none; }

/* Декор: шесть кружков, тема перекрашивает их через --pc-dot. */
.pc-deco i{ position:absolute; border-radius:50%; background:var(--pc-dot); opacity:.22; }
.pc-deco i:nth-child(1){ width:38%; aspect-ratio:1; top:-12%; right:-10%; }
.pc-deco i:nth-child(2){ width:22%; aspect-ratio:1; bottom:-6%; left:-6%; }
.pc-deco i:nth-child(3){ width:5%; aspect-ratio:1; top:14%; left:12%; opacity:.6; }
.pc-deco i:nth-child(4){ width:3%; aspect-ratio:1; top:24%; right:16%; opacity:.7; }
.pc-deco i:nth-child(5){ width:4%; aspect-ratio:1; bottom:16%; right:14%; opacity:.5; }
.pc-deco i:nth-child(6){ width:2.4%; aspect-ratio:1; bottom:26%; left:18%; opacity:.8; }

.pc-controls{ display:flex; flex-direction:column; gap:16px; }
.pc-controls > div{ display:flex; flex-direction:column; gap:6px; }
.pc-label{ font-size:13.5px; color:var(--ink-faint); }
.pc-controls textarea.field{ resize:vertical; min-height:130px; line-height:1.5; font:inherit; }
.pc-themes{ display:flex; gap:10px; flex-wrap:wrap; }
.pc-theme{ width:40px; height:40px; border-radius:50%; border:2px solid var(--line); cursor:pointer; padding:0; }
.pc-theme[aria-pressed="true"]{ border-color:var(--ink); box-shadow:0 0 0 2px var(--bg) inset; }
.pc-sw-garden{ background:#0E4D40; }
.pc-sw-night{ background:#2B2A5A; }
.pc-sw-clay{ background:#D9773F; }
.pc-sw-winter{ background:#2A5D8F; }
.pc-sw-rose{ background:#D46A8C; }
.pc-sw-khaki{ background:#56652F; }
.pc-sw-confetti{ background:#FFF6EC; }
.pc-regen{ flex-direction:row !important; flex-wrap:wrap; gap:10px !important; }
.pc-regen .btn{ display:inline-flex; align-items:center; gap:8px; }

/* ---------- Переключатель поводов ---------- */
.pz-holidays{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.pz-holidays-label{ font-size:13.5px; color:var(--ink-faint); margin-right:4px; }
.pc-sw-paper{ background:#FAFAF9; }
.pc-buttons{ flex-direction:row !important; flex-wrap:wrap; gap:10px !important; }

/* ---------- Тексты ---------- */
.pz-list{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
@media (max-width:760px){ .pz-list{ grid-template-columns:1fr; } }
.pz-item{ border:1px solid var(--line); border-radius:var(--r-card); padding:20px 22px;
  display:flex; flex-direction:column; gap:10px; }
.pz-item p{ margin:0; line-height:1.6; }
.pz-to{ font-weight:700; color:var(--accent-deep); }
.pz-verse{ font-style:italic; }
.pz-actions{ display:flex; gap:8px; flex-wrap:wrap; margin-top:auto; padding-top:4px; }
.pz-actions .is-done{ border-color:var(--accent); color:var(--accent); }
