.pclab-weather-menu-item,
.pclab-weather-forecast {
  --pclab-weather-icon: 24px;
  --pclab-weather-font: 13px;
}

.pclab-weather-menu-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
  vertical-align: middle;
}

.pclab-weather-temp,
.pclab-weather-range,
.pclab-weather-day-name {
  font-size: var(--pclab-weather-font);
}

.pclab-weather-forecast {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
}

.pclab-weather-day {
  min-width: 92px;
  padding: 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.pclab-weather-svg {
  width: var(--pclab-weather-icon);
  height: var(--pclab-weather-icon);
  overflow: visible;
}

.pclab-weather-svg .cloud-body path,
.pclab-weather-svg .cloud-body {
  fill: rgba(255,255,255,.92);
  stroke: currentColor;
  stroke-width: 1.6;
}

.pclab-weather-svg line,
.pclab-weather-svg circle,
.pclab-weather-svg polygon,
.pclab-weather-svg path {
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pclab-weather-svg .sun-core {
  fill: rgba(255, 214, 91, .25);
  stroke-width: 2;
}

.pclab-weather-svg .sun-rays line,
.pclab-weather-svg .drops line,
.pclab-weather-svg .flakes line {
  stroke-width: 2.4;
}

.pclab-weather-sun,
.pclab-weather-partly .sun-wrap {
  animation: pclab-spin-slow 10s linear infinite;
  transform-origin: center;
}

.pclab-weather-partly .cloud-body,
.pclab-weather-cloud .cloud-body,
.pclab-weather-rain .cloud-body,
.pclab-weather-snow .cloud-body,
.pclab-weather-storm .cloud-body {
  animation: pclab-float 3.5s ease-in-out infinite;
}

.pclab-weather-rain .drops line {
  animation: pclab-rain 1.1s ease-in-out infinite;
}

.pclab-weather-rain .drops line:nth-child(2) {
  animation-delay: .15s;
}

.pclab-weather-rain .drops line:nth-child(3) {
  animation-delay: .3s;
}

.pclab-weather-snow .flakes g {
  animation: pclab-twinkle 2s ease-in-out infinite;
}

.pclab-weather-snow .flakes g:nth-child(2) {
  animation-delay: .5s;
}

.pclab-weather-storm .bolt {
  fill: rgba(255, 214, 91, .25);
  stroke-width: 1.8;
  animation: pclab-flash 1.7s steps(2) infinite;
}

.menu-item-pclab-weather > a {
  pointer-events: none;
}

@keyframes pclab-spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes pclab-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

@keyframes pclab-rain {
  0%,100% { transform: translateY(0); opacity: .8; }
  50% { transform: translateY(3px); opacity: 1; }
}

@keyframes pclab-twinkle {
  0%,100% { opacity: .85; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
}

@keyframes pclab-flash {
  0%, 75%, 100% { opacity: .5; }
  80%, 90% { opacity: 1; }
}


.pclab-weather-moon .moon-core,
.pclab-weather-night-partly .moon-core,
.pclab-weather-night-cloud .moon-core,
.pclab-weather-night-rain .moon-core,
.pclab-weather-night-snow .moon-core,
.pclab-weather-night-storm .moon-core {
  fill: rgba(196, 210, 255, .22);
  stroke-width: 1.8;
}

.pclab-weather-moon .star,
.pclab-weather-night-partly .star,
.pclab-weather-night-cloud .star,
.pclab-weather-night-rain .star,
.pclab-weather-night-snow .star,
.pclab-weather-night-storm .star {
  fill: rgba(255,255,255,.92);
  stroke: none;
  animation: pclab-twinkle 2.2s ease-in-out infinite;
}

.pclab-weather-moon,
.pclab-weather-night-partly .moon-wrap,
.pclab-weather-night-cloud .moon-wrap,
.pclab-weather-night-rain .moon-wrap,
.pclab-weather-night-snow .moon-wrap,
.pclab-weather-night-storm .moon-wrap {
  animation: pclab-float 4s ease-in-out infinite;
  transform-origin: center;
}
