/* Decoración de Navidad de Zampypet: solo se carga cuando está activada */
.zp-xmas .zp-snow { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 60; }

/* Luces colgando bajo la cabecera */
.zp-xmas header { overflow: visible; }
.xmas-lights { position: absolute; left: 0; right: 0; top: 100%; height: 38px; pointer-events: none; z-index: 19; display: flex; justify-content: space-evenly; overflow: hidden; }
.xmas-lights::before { content: ""; position: absolute; left: -2%; right: -2%; top: -9px; height: 20px; border-bottom: 2px solid #5B1428; border-radius: 0 0 50% 50% / 0 0 100% 100%; opacity: .55; }
.xmas-lights i { position: relative; display: block; width: 11px; height: 17px; margin-top: 7px; border-radius: 50% 50% 55% 55% / 35% 35% 65% 65%; background: var(--c, #FFE27A); box-shadow: 0 0 10px 2px var(--c, #FFE27A); animation: zp-twinkle 2.4s ease-in-out infinite; animation-delay: var(--d, 0s); }
.xmas-lights i::before { content: ""; position: absolute; left: 50%; top: -5px; width: 6px; height: 6px; margin-left: -3px; background: #5B1428; border-radius: 2px 2px 0 0; }
.xmas-lights i:nth-child(4n+1) { --c: #FFE27A; }
.xmas-lights i:nth-child(4n+2) { --c: #F2B6C3; --d: .5s; }
.xmas-lights i:nth-child(4n+3) { --c: #FFF8E1; --d: 1s; }
.xmas-lights i:nth-child(4n) { --c: #F6A5B8; --d: 1.5s; }
.xmas-lights i:nth-child(even) { margin-top: 12px; }
@keyframes zp-twinkle { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* Gorro de Papá Noel sobre el logo */
.zp-xmas header .logo { position: relative; }
.zp-xmas header .logo::after { content: ""; position: absolute; left: 30px; top: -38px; width: 66px; height: 56px; z-index: 3; transform: rotate(10deg); transform-origin: 30% 90%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 84'%3E%3Cpath d='M12 66 C14 30 40 8 78 14 C70 26 74 44 92 62 Z' fill='%23B3203F'/%3E%3Cpath d='M8 62 Q50 82 96 62 L96 76 Q50 94 8 76 Z' fill='%23FFFFFF'/%3E%3Ccircle cx='80' cy='14' r='11' fill='%23FFFFFF'/%3E%3C/svg%3E") center / contain no-repeat; }
@media (max-width: 820px) { .zp-xmas header .logo::after { width: 44px; height: 38px; left: 18px; top: -20px; } }

/* Detalles: copos junto a los títulos de sección */
.zp-xmas .shop > h2::after, .zp-xmas .solid h2::after { content: ""; display: inline-block; width: .8em; height: .8em; margin-left: .35em; vertical-align: -0.05em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2B6C3' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M9 4l3 3 3-3M9 20l3-3 3 3'/%3E%3C/svg%3E") center / contain no-repeat; }

/* Nieve acumulada sobre las tarjetas */
.zp-xmas .card .media::after { content: ""; position: absolute; left: 12%; right: 12%; top: 0; height: 10px; background: #FFFFFF; border-radius: 0 0 60% 60% / 0 0 100% 100%; opacity: .9; z-index: 2; pointer-events: none; }

@media (prefers-reduced-motion: reduce) { .xmas-lights i { animation: none; } .zp-xmas .zp-snow { display: none; } }

/* Árboles de Navidad en las esquinas */
.xmas-tree { content: ""; position: fixed; bottom: 0; z-index: 14; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 170'%3E%3Cellipse cx='60' cy='162' rx='46' ry='6' fill='%23FFFFFF' opacity='.85'/%3E%3Crect x='52' y='132' width='16' height='28' rx='3' fill='%235B1428'/%3E%3Cpath d='M60 58 L102 112 Q104 118 96 118 L24 118 Q16 118 18 112 Z' fill='%232F6B4F'/%3E%3Cpath d='M60 30 L94 76 Q96 82 89 82 L31 82 Q24 82 26 76 Z' fill='%233A7C5C'/%3E%3Cpath d='M60 6 L86 42 Q88 48 82 48 L38 48 Q32 48 34 42 Z' fill='%23468F6B'/%3E%3Cpath d='M40 44 Q60 54 80 44' stroke='%23FFF8E1' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cpath d='M30 80 Q60 94 90 80' stroke='%23FFF8E1' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Cpath d='M22 116 Q60 134 98 116' stroke='%23FFF8E1' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='48' cy='62' r='5' fill='%23F2B6C3'/%3E%3Ccircle cx='72' cy='72' r='5' fill='%23FFE27A'/%3E%3Ccircle cx='42' cy='98' r='5.5' fill='%23FFE27A'/%3E%3Ccircle cx='78' cy='104' r='5.5' fill='%23F2B6C3'/%3E%3Ccircle cx='58' cy='112' r='5' fill='%23B3203F'/%3E%3Ccircle cx='58' cy='34' r='4' fill='%23FFE27A'/%3E%3Cpath d='M60 -4 L63 3 L71 4 L65 9 L67 17 L60 13 L53 17 L55 9 L49 4 L57 3 Z' fill='%23FFE27A' transform='translate%280 3%29'/%3E%3C/svg%3E") bottom / contain no-repeat; filter: drop-shadow(0 4px 6px rgba(79,15,37,.25)); }
.xmas-tree.l { left: max(0px, env(safe-area-inset-left, 0px)); width: clamp(70px, 7.5vw, 110px); height: clamp(100px, 10.7vw, 157px); }
.xmas-tree.r { right: max(6px, env(safe-area-inset-right, 0px)); width: clamp(56px, 6vw, 90px); height: clamp(80px, 8.6vw, 128px); transform: scaleX(-1); }
@media (max-width: 700px) { .xmas-tree.r { display: none; } .xmas-tree.l { width: 62px; height: 88px; opacity: .95; } }
