/* Holiday popup – Natalizio elegante (no carnevale)
   Obiettivo: neve bianca VISIBILE (sfondo invernale), contenuto leggibile.
   Disattiva: rimuovi i link a holiday-popup.css e holiday-popup.js (o elimina i file).
*/

.cb-holiday-overlay{
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.60);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 16px;
  backdrop-filter: blur(2px);
}

.cb-holiday-modal{
  width: min(760px, 100%);
  /* SFONDO INVERNALE: così la neve bianca si vede */
  background: radial-gradient(1200px 500px at 20% 0%, #1f3b77 0%, #1a2e5a 45%, #142444 100%);
  border-radius: 18px;
  box-shadow: 0 28px 60px rgba(15, 23, 42, 0.35);
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.20);
  position: relative;
}

/* NEVE: overlay SOPRA il contenuto (si vede sempre) */
.cb-holiday-modal::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.98) 0 2.6px, transparent 3.8px),
    radial-gradient(circle, rgba(255,255,255,0.78) 0 2.1px, transparent 3.6px),
    radial-gradient(circle, rgba(255,255,255,0.62) 0 1.7px, transparent 3.3px);
  background-size: 150px 150px, 210px 210px, 290px 290px;
  background-position: 0 0, 70px 45px, 120px 80px;
  opacity: .75;
  animation: cbModalSnow 8.5s linear infinite;
  mix-blend-mode: screen;
}

@keyframes cbModalSnow {
  0%   { transform: translateY(-110px); }
  100% { transform: translateY(280px); }
}

/* Contenuto: pannelli chiari SEMI-TRASPARENTI sopra lo sfondo scuro */
.cb-holiday-top,
.cb-holiday-body,
.cb-holiday-actions{
  position: relative;
  z-index: 2;
}

/* Header */
.cb-holiday-top{
  padding: 18px 20px 16px 20px;
  background: rgba(255,255,255,.78);
  border-bottom: 1px solid rgba(226,232,240,.85);
  backdrop-filter: blur(4px);
}

/* Ghirlanda sobria */
.cb-holiday-top::before{
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 40px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22900%22%20height%3D%2256%22%20viewBox%3D%220%200%20900%2056%22%3E%3Cpath%20d%3D%22M0%2026%20C%2090%208%2C%20180%2044%2C%20270%2026%20C%20360%208%2C%20450%2044%2C%20540%2026%20C%20630%208%2C%20720%2044%2C%20810%2026%20C%20840%2018%2C%20870%2036%2C%20900%2026%22%20fill%3D%22none%22%20stroke%3D%22rgba(15%2C23%2C42%2C.18)%22%20stroke-width%3D%223%22/%3E%3Cpath%20d%3D%22M0%2026%20C%2090%208%2C%20180%2044%2C%20270%2026%20C%20360%208%2C%20450%2044%2C%20540%2026%20C%20630%208%2C%20720%2044%2C%20810%2026%20C%20840%2018%2C%20870%2036%2C%20900%2026%22%20fill%3D%22none%22%20stroke%3D%22rgba(22%2C163%2C74%2C.55)%22%20stroke-width%3D%228%22%20stroke-linecap%3D%22round%22/%3E%3Cg%3E%3Ccircle%20cx%3D%2295%22%20cy%3D%2224%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22205%22%20cy%3D%2230%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22315%22%20cy%3D%2224%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22425%22%20cy%3D%2230%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22535%22%20cy%3D%2224%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22645%22%20cy%3D%2230%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22755%22%20cy%3D%2224%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3Ccircle%20cx%3D%22865%22%20cy%3D%2230%22%20r%3D%224.8%22%20fill%3D%22rgba(185%2C28%2C28%2C.85)%22/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-size: 900px 56px;
  opacity: .95;
  pointer-events: none;
}

/* Alberello */
.cb-holiday-top::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 42px;
  width: 48px;
  height: 48px;
  background-image: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cpath%20d%3D%22M32%206%20l-10%2014%20h6%20l-10%2014%20h7%20l-11%2016%20h36%20l-11-16%20h7%20l-10-14%20h6z%22%20fill%3D%22%2316a34a%22/%3E%3Crect%20x%3D%2228%22%20y%3D%2248%22%20width%3D%228%22%20height%3D%2210%22%20rx%3D%222%22%20fill%3D%22%2392400e%22/%3E%3Ccircle%20cx%3D%2238%22%20cy%3D%2222%22%20r%3D%222.2%22%20fill%3D%22%23b91c1c%22/%3E%3Ccircle%20cx%3D%2226%22%20cy%3D%2228%22%20r%3D%222.2%22%20fill%3D%22%23b91c1c%22/%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%2234%22%20r%3D%222.2%22%20fill%3D%22%23b91c1c%22/%3E%3Cpath%20d%3D%22M32%2010%20l2.2%204.2%204.6.6-3.4%203.2.8%204.5-4.2-2.2-4.2%202.2.8-4.5-3.4-3.2%204.6-.6z%22%20fill%3D%22%23facc15%22/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .95;
  pointer-events: none;
}

.cb-holiday-title{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 900;
  font-size: 1.25rem;
  color: #0f172a;
  margin: 12px 0 0 0;
}
.cb-holiday-title .cb-emoji{ font-size: 1.35rem; }

/* Body */
.cb-holiday-body{
  padding: 18px 20px 18px 20px;
  color: #0f172a;
  line-height: 1.65;
  font-size: 1rem;
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(4px);
}

.cb-holiday-body p{ margin: 0 0 12px 0; }

.cb-holiday-wish{
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(34,197,94,.14);
  border: 1px solid rgba(34,197,94,.22);
  color: #0f172a;
  font-size: 1.15rem;
  font-weight: 900;
}

/* Actions */
.cb-holiday-actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 0 20px 20px 20px;
  background: rgba(255,255,255,.76);
  backdrop-filter: blur(4px);
}

.cb-holiday-btn{
  appearance: none;
  border: 1px solid rgba(148,163,184,.60);
  background: rgba(255,255,255,.95);
  color: #0f172a;
  padding: 10px 14px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 800;
  font-size: .95rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cb-holiday-btn-primary{
  border-color: rgba(34,197,94,.28);
  background: rgba(34,197,94,.14);
}

.cb-holiday-close{
  position: absolute;
  right: 16px;
  top: 14px;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(226,232,240,.85);
  background: rgba(255,255,255,.92);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0f172a;
  z-index: 4;
}

@media (max-width: 520px){ .cb-holiday-top::after{ display:none; } }
@media (max-width: 480px){
  .cb-holiday-actions{ flex-direction: column; }
  .cb-holiday-btn{ width: 100%; }
  .cb-holiday-wish{ font-size: 1.05rem; }
}
