/**
 * WS40 Pollen block — [ws40_pollen]
 */
.ws40-pollen { --p0:#9ca3af; --p1:#46b450; --p2:#f0c000; --p3:#ed7014; --p4:#dc3232; font-size:14px; color:#1d2327; }
/* Scroll affordance: edge fades shown when the day strip can scroll (works on
   touch + overlay-scrollbar platforms where the native bar is hidden). Toggled
   by ws40-pollen.js via .is-scroll-left / .is-scroll-right. */
.ws40-pollen { position:relative; }
.ws40-pollen::before, .ws40-pollen::after { content:""; position:absolute; top:0; bottom:0; width:38px; pointer-events:none; opacity:0; transition:opacity .15s ease; z-index:3; }
.ws40-pollen::before { left:0;  background:linear-gradient(to right, #fff 12%, rgba(255,255,255,0)); }
.ws40-pollen::after  { right:0; background:linear-gradient(to left,  #fff 12%, rgba(255,255,255,0)); }
.ws40-pollen.is-scroll-left::before  { opacity:1; }
.ws40-pollen.is-scroll-right::after  { opacity:1; }
.ws40-pollen__title { margin:0 0 12px; font-size:18px; font-weight:700; }

.ws40-pollen__grid { display:flex; flex-wrap:nowrap; gap:12px; overflow-x:auto; overflow-y:hidden; max-width:100%; padding-bottom:10px; align-items:flex-start; scrollbar-width:thin; scrollbar-color:var(--ws40con-blue, #46b450) #e0e0e0; -webkit-overflow-scrolling:touch; }
.ws40-pollen__grid::-webkit-scrollbar { height:8px; }
.ws40-pollen__grid::-webkit-scrollbar-track { background:#e0e0e0; border-radius:999px; }
.ws40-pollen__grid::-webkit-scrollbar-thumb { background:var(--ws40con-blue, #46b450); border-radius:999px; }
.ws40-pollen__grid::-webkit-scrollbar-thumb:hover { background:var(--ws40con-blue, #379a45); }
.ws40-pollen__grid::-webkit-scrollbar-button { display:none; }
.ws40-pollen__day {
    flex:0 0 168px; min-width:168px; background:#fff; border:1px solid #e3e5e8;
    border-radius:10px; padding:12px 12px 10px; box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.ws40-pollen__date { font-weight:700; text-align:center; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #f0f0f1; text-transform:capitalize; }

.ws40-pollen__row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:6px 0; }
.ws40-pollen__name { font-size:13px; color:#3c434a; }
.ws40-pollen__badge { font-size:11px; font-weight:700; color:#fff; padding:2px 9px; border-radius:999px; white-space:nowrap; }
.ws40-pollen__lvl--0 { background:var(--p0); }
.ws40-pollen__lvl--1 { background:var(--p1); }
.ws40-pollen__lvl--2 { background:var(--p2); color:#3a3000; }
.ws40-pollen__lvl--3 { background:var(--p3); }
.ws40-pollen__lvl--4 { background:var(--p4); }

.ws40-pollen__attr { margin:8px 0 0; font-size:12px; color:#646970; }
.ws40-pollen__error { margin:10px 0 0; color:#b32d2e; font-size:13px; }

/* Skeleton loader */
.ws40-pollen__loading .ws40-pollen__day,
.ws40-pollen__skeleton { background:linear-gradient(90deg,#eef0f2 25%,#e2e5e9 37%,#eef0f2 63%); background-size:400% 100%; animation:ws40PollenPulse 1.4s ease infinite; min-height:160px; border:1px solid #e3e5e8; }
@keyframes ws40PollenPulse { 0%{background-position:100% 0} 100%{background-position:-100% 0} }
