/* Microlab — tema natalizio */
body.microlab-natale {
  --ink: #fff7eb;
  --muted: #e1c5bc;
  --bg: #1c0d13;
  --surface: #32151d;
  --surface2: #412029;
  --line: rgba(255, 221, 167, .25);
  --blue: #ff8f94;
  --cyan: #ffce82;
  --lime: #ffce82;
  --natale-oro: #ffdc99;
  --natale-rosso: #a82d42;
  --natale-bordo: rgba(255, 220, 153, .25);
  color-scheme: dark;
  background: radial-gradient(ellipse at 15% 0, #4b1927, transparent 55rem), #1c0d13;
}

body.microlab-natale .site-header {
  background: #31121c;
  border-color: var(--natale-bordo);
}

.microlab-natale .site-header::after {
  content: "";
  display: block;
  height: 5px;
  pointer-events: none;
  background:
    radial-gradient(circle at 8px 2px, #ffdd98 0 1.5px, #eaa144 2px, transparent 4px),
    radial-gradient(circle at 25px 2px, #ff8d90 0 1.5px, #a82d42 2px, transparent 4px);
  background-size: 36px 5px;
}

.microlab-natale :is(.natale-hero, .catalog-hero, .home-desktops, .gaming, .fiscal) {
  background: radial-gradient(ellipse at 85% 0, #662331, transparent 42rem),
    linear-gradient(135deg, #36151e, #201017);
  border-color: var(--natale-bordo);
}

.microlab-natale :is(.teacher-card-section, .refurb, .tspro, .tspro-contact, .contact, footer) {
  background: linear-gradient(145deg, #401a25, #251018);
  border-color: var(--natale-bordo);
}

.microlab-natale :is(.service-card, .home-desktop-card, .gaming-product-card, .refurb-visual,
  .catalog-orbit, .orbit-card, .gaming-console, .contact-card, .about-mark.about-tech-card) {
  background: radial-gradient(ellipse at 85% 5%, #552330, transparent 75%), #28131c;
  border-color: var(--natale-bordo);
}

.microlab-natale :is(.kicker, .catalog-kicker, .desktop-kicker, .section-heading em,
  .product-copy h2 em, .fiscal h2 em, .hero-new-copy h2 em) {
  color: var(--natale-oro);
}

.microlab-natale .section-shell :is(.button.primary, .gaming-button, .refurb-button, .tspro-button),
.microlab-natale .natale-primary {
  background: var(--natale-rosso);
  border-color: #dc6876;
  color: #fff;
}

body.microlab-natale.section-mode .hero::before {
  background: radial-gradient(ellipse at 80% 15%, #632532, transparent 46%),
    linear-gradient(145deg, #30141e, #1f1016);
}

body.microlab-natale.section-mode .hero::after {
  background: radial-gradient(ellipse at 50% 50%, #9b413a45, transparent 70%);
  border-color: var(--natale-bordo);
}

/* Decorazioni fisse nella fascia sopra il piè di pagina. */
.natale-festone {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(12px, 4vw, 40px);
  min-height: 82px;
  padding: 12px 16px;
  color: #ffe2a7;
  text-align: center;
  border-block: 1px solid var(--natale-bordo);
  background: radial-gradient(ellipse at 50% 100%, #662331, #32151e 75%);
}
.natale-festone strong {
  align-self: center;
  font-family: Georgia, serif;
  font-size: clamp(1.05rem, 3vw, 1.55rem);
}
.natale-pallina {
  position: relative;
  flex: 0 0 22px;
  height: 22px;
  margin: 0 0 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #ffd0b9, #e55362 36%, #861a31 75%);
}
.natale-pallina::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 5px;
  left: 7px;
  top: -4px;
  background: #ffe2a7;
  border-radius: 2px;
}
.natale-pallina.oro {
  background: radial-gradient(circle at 30% 25%, #fff0bc, #e9ad51 36%, #a7602a 75%);
}
.natale-albero {
  display: block;
  width: clamp(26px, 6vw, 46px);
  height: auto;
  flex-shrink: 0;
}

/* Abeti trasparenti ai margini, fuori dall'area di interazione. */
.microlab-natale::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 89;
  pointer-events: none;
  opacity: .19;
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20240%20260%22%3E%3Cg%20fill%3D%22%23ecbe92%22%3E%3Cpath%20opacity%3D%22.44%22%20d%3D%22M51%2066%2081%20119H69l22%2037H76l27%2046H0l27-46H12l22-37H22zM45%20199h12v20H45z%22/%3E%3Cpath%20opacity%3D%22.63%22%20d%3D%22m191%2082%2026%2046h-12l23%2037h-13l25%2043h-98l24-43h-13l22-37h-11zM186%20203h11v18h-11z%22/%3E%3Cpath%20d%3D%22m119%2015%2037%2063h-16l32%2052h-20l36%2062H50l36-62H66l31-52H81zM111%20189h15v32h-15z%22/%3E%3Ccircle%20cx%3D%22107%22%20cy%3D%2281%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22137%22%20cy%3D%22119%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22158%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22145%22%20cy%3D%22168%22%20r%3D%224%22/%3E%3C/g%3E%3C/svg%3E") left -22px bottom -30px / clamp(110px, 17vw, 250px) auto no-repeat,
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20240%20260%22%3E%3Cg%20fill%3D%22%23ecbe92%22%3E%3Cpath%20opacity%3D%22.44%22%20d%3D%22M51%2066%2081%20119H69l22%2037H76l27%2046H0l27-46H12l22-37H22zM45%20199h12v20H45z%22/%3E%3Cpath%20opacity%3D%22.63%22%20d%3D%22m191%2082%2026%2046h-12l23%2037h-13l25%2043h-98l24-43h-13l22-37h-11zM186%20203h11v18h-11z%22/%3E%3Cpath%20d%3D%22m119%2015%2037%2063h-16l32%2052h-20l36%2062H50l36-62H66l31-52H81zM111%20189h15v32h-15z%22/%3E%3Ccircle%20cx%3D%22107%22%20cy%3D%2281%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22137%22%20cy%3D%22119%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22100%22%20cy%3D%22158%22%20r%3D%224%22/%3E%3Ccircle%20cx%3D%22145%22%20cy%3D%22168%22%20r%3D%224%22/%3E%3C/g%3E%3C/svg%3E") right -16px bottom -20px / clamp(125px, 19vw, 285px) auto no-repeat;
}

.natale-neve {
  position: fixed;
  inset: 0;
  z-index: 99;
  overflow: hidden;
  pointer-events: none;
}
.natale-neve span {
  position: absolute;
  top: -14px;
  left: var(--x);
  width: calc(var(--misura) + 3px);
  height: calc(var(--misura) + 3px);
  border-radius: 50%;
  background: #fffaf3;
  box-shadow: 0 0 6px #ffe4bf;
  opacity: .85;
  animation: natale-caduta 11s linear infinite;
  animation-delay: var(--inizio);
}
.natale-neve span:nth-child(3n + 1) { animation-delay: -4s; }
.natale-neve span:nth-child(3n + 2) { animation-delay: -8s; }
.natale-neve span:nth-child(4n) { animation-duration: 15s; }
@keyframes natale-caduta {
  from { transform: translate(0, 0); }
  to { transform: translate(var(--vento), calc(100vh + 28px)); }
}
@media (prefers-reduced-motion: reduce) {
  .natale-neve span {
    top: calc(100% - var(--x));
    animation: none;
    opacity: .68;
  }
  .natale-neve span:nth-child(even) { top: var(--x); }
}
@media print {
  .natale-neve, .microlab-natale::after { display: none; }
}
