/* ==========================================================================
   Tema de Crăciun — strat peste tema de bază.
   Pentru revenire la tema normală: scoateți <link craciun.css> și <script craciun.js>
   (și, opțional, banda .xmas-greeting din hero / .xmas-foot din footer).
   ========================================================================== */
:root {
  --cream: #F5EFE4;
  --cream-2: #EDE3D0;
  --sand: #E3D2B0;
  --ink: #16302A;          /* brad închis în loc de bleumarin */
  --ink-2: #2B4A41;
  --rust: #B3202C;         /* roșu de Crăciun */
  --rust-dark: #861620;
  --moss: #1E5B3E;         /* verde brad */
  --moss-light: #2F7D55;
  --paper: #FCF9F3;
  --gold: #D4A445;
  --line: rgba(22, 48, 42, 0.13);
  --line-strong: rgba(22, 48, 42, 0.26);
}

/* ---------- Instalație luminoasă sub meniu ---------- */
nav.main-nav { position: sticky; }
nav.main-nav::after {
  content: '';
  position: absolute; left: 0; right: 0; bottom: -13px; height: 18px;
  pointer-events: none; z-index: 2;
  background-repeat: repeat-x; background-size: 132px 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='18' viewBox='0 0 132 18'%3E%3Cpath d='M0 2 Q16.5 9 33 2 T66 2 T99 2 T132 2' fill='none' stroke='%2316302A' stroke-width='1.2' opacity='.55'/%3E%3Cg%3E%3Crect x='14.5' y='5' width='4' height='3' rx='1' fill='%2316302A' opacity='.7'/%3E%3Cellipse cx='16.5' cy='12' rx='3.4' ry='5' fill='%23E2333F'/%3E%3Crect x='47.5' y='5' width='4' height='3' rx='1' fill='%2316302A' opacity='.7'/%3E%3Cellipse cx='49.5' cy='12' rx='3.4' ry='5' fill='%23F2C14E'/%3E%3Crect x='80.5' y='5' width='4' height='3' rx='1' fill='%2316302A' opacity='.7'/%3E%3Cellipse cx='82.5' cy='12' rx='3.4' ry='5' fill='%2337A169'/%3E%3Crect x='113.5' y='5' width='4' height='3' rx='1' fill='%2316302A' opacity='.7'/%3E%3Cellipse cx='115.5' cy='12' rx='3.4' ry='5' fill='%234FA3E0'/%3E%3C/g%3E%3C/svg%3E");
  filter: drop-shadow(0 0 3px rgba(242, 193, 78, 0.55));
  animation: xmasTwinkle 2.6s ease-in-out infinite;
}
@keyframes xmasTwinkle {
  0%, 100% { opacity: 1; filter: drop-shadow(0 0 4px rgba(242, 193, 78, 0.7)); }
  50% { opacity: 0.78; filter: drop-shadow(0 0 1px rgba(242, 193, 78, 0.2)); }
}

/* ---------- Logo: crenguță de vâsc lângă logo ---------- */
.logo { position: relative; }
.logo::after {
  content: ''; position: absolute; left: 22px; top: -10px; width: 26px; height: 18px; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 18'%3E%3Cpath d='M13 10 C7 2 2 4 1 6 C5 6 6 9 9 9 C7 11 9 13 13 10Z' fill='%231E5B3E'/%3E%3Cpath d='M13 10 C19 2 24 4 25 6 C21 6 20 9 17 9 C19 11 17 13 13 10Z' fill='%232F7D55'/%3E%3Ccircle cx='11' cy='11.5' r='2.3' fill='%23B3202C'/%3E%3Ccircle cx='14.6' cy='12.4' r='2.3' fill='%23D62F3B'/%3E%3Ccircle cx='12.6' cy='14.6' r='2.1' fill='%23B3202C'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* ---------- Hero ---------- */
section.hero { padding-bottom: 8.5rem; }
section.hero::after {           /* troian de zăpadă la baza hero-ului */
  content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 64px; pointer-events: none; z-index: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 64' preserveAspectRatio='none'%3E%3Cpath d='M0 40 C120 18 220 30 330 26 C460 20 520 44 650 38 C780 32 860 14 990 22 C1080 28 1140 36 1200 30 L1200 64 L0 64Z' fill='%23ffffff'/%3E%3Cpath d='M0 48 C150 34 260 46 400 42 C560 37 640 54 800 48 C930 44 1050 40 1200 44 L1200 64 L0 64Z' fill='%23EEF3F6'/%3E%3C/svg%3E") no-repeat bottom/100% 100%;
}
.hero-title .accent { color: var(--rust); }

.xmas-greeting {
  display: inline-flex; align-items: center; gap: 0.65rem;
  margin-bottom: 1.1rem;
  padding: 0.55rem 1.1rem 0.55rem 0.7rem;
  background: var(--rust); color: #fff;
  border-radius: 999px;
  font-family: 'Fraunces', serif; font-style: italic; font-size: 1.02rem;
  box-shadow: 0 8px 22px -10px rgba(179, 32, 44, 0.65), inset 0 0 0 2px rgba(255,255,255,0.18);
  position: relative;
}
.xmas-greeting svg { flex: 0 0 auto; }
.xmas-greeting small { font-family: 'JetBrains Mono', monospace; font-style: normal; font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.85; }

/* ---------- Detalii de secțiune ---------- */
.section-tag::before {          /* baston de bomboană în loc de liniuță */
  height: 4px; border-radius: 2px;
  background: repeating-linear-gradient(-45deg, var(--rust) 0 5px, #fff 5px 9px) !important;
  box-shadow: 0 0 0 1px rgba(179, 32, 44, 0.25);
}
.section-title em { color: var(--rust); }
.stat-num .plus { color: var(--gold); }
.btn-primary:hover, .nav-cta:hover { background: var(--rust); }

/* Fulgi decorativi pe secțiunile închise (statistici, contact) */
section.stats, section.contact { position: relative; }
section.stats::after, section.contact::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: 0.16;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='180'%3E%3Cg stroke='%23ffffff' stroke-width='1.3' stroke-linecap='round' fill='none'%3E%3Cg transform='translate(40 40)'%3E%3Cpath d='M0-12V12M-10.4-6 10.4 6M-10.4 6 10.4-6M0-12-3-15M0-12 3-15M0 12-3 15M0 12 3 15'/%3E%3C/g%3E%3Cg transform='translate(160 110) scale(.7)'%3E%3Cpath d='M0-12V12M-10.4-6 10.4 6M-10.4 6 10.4-6M0-12-3-15M0-12 3-15M0 12-3 15M0 12 3 15'/%3E%3C/g%3E%3Cg transform='translate(95 150) scale(.45)'%3E%3Cpath d='M0-12V12M-10.4-6 10.4 6M-10.4 6 10.4-6'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
}
section.stats > *:not(.topo-bg), section.contact > *:not(.topo-bg) { position: relative; z-index: 1; }

/* ---------- Footer ---------- */
.xmas-foot {
  display: flex; align-items: center; justify-content: center; gap: 0.6rem;
  max-width: 1280px; margin: 0 auto 1.5rem; padding: 0.9rem 1rem;
  border: 1px dashed rgba(244, 239, 230, 0.22); border-radius: 8px;
  font-family: 'Fraunces', serif; font-style: italic; color: var(--cream); font-size: 1rem; text-align: center;
}
.xmas-foot svg { flex: 0 0 auto; }

/* ---------- Ninsoare (canvas) + comutator ---------- */
.xmas-snow { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 90; }
.xmas-snow-toggle {
  position: fixed; left: 1.25rem; bottom: 1.5rem; z-index: 99;
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.55rem 0.9rem; min-height: 40px;
  border-radius: 999px; border: 1px solid var(--line-strong);
  background: rgba(252, 249, 243, 0.92); color: var(--ink);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  font-family: 'JetBrains Mono', monospace; font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase;
  cursor: pointer; box-shadow: 0 6px 18px -8px rgba(22, 48, 42, 0.4);
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.xmas-snow-toggle[aria-pressed="false"] { opacity: 0.7; }
.xmas-snow-toggle:hover { background: var(--ink); color: var(--paper); }
@supports (padding: max(0px)) {
  .xmas-snow-toggle { left: max(1.25rem, env(safe-area-inset-left)); bottom: max(1.5rem, env(safe-area-inset-bottom)); }
}

/* Ecran complet Parcelare: fără ninsoare peste hartă */
html.pc-noscroll .xmas-snow, :fullscreen ~ .xmas-snow { display: none; }

@media (max-width: 640px) {
  .xmas-greeting { font-size: 0.9rem; padding: 0.5rem 0.9rem 0.5rem 0.6rem; }
  .xmas-greeting small { display: none; }
  .xmas-snow-toggle span { display: none; }
  .xmas-snow-toggle { width: 42px; padding: 0; justify-content: center; }
  .logo::after { left: 20px; top: -9px; width: 22px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  nav.main-nav::after { animation: none; }
  .xmas-snow { display: none; }
}
@media print {
  nav.main-nav::after, .xmas-snow, .xmas-snow-toggle, .logo::after { display: none !important; }
}

/* Footer în ton de brad (în loc de bleumarin) */
footer.site-footer { background: var(--topo-grid-light) repeat, #0E1F1A; }
