/* Planeta Program – en rund dagväljare, sedan en sektion per festivaldag där varje evenemang är en rund bild med tid, titel och plats. */
.pp{
  --pp-svavel:var(--wp--preset--color--accent-1,#ffffbf);
  --pp-orange:var(--wp--preset--color--accent-3,#ff5700);
  --pp-svart:var(--wp--preset--color--contrast,#111);
  --pp-arets:#54B9A4;
  --pp-dov:#4a4a36;
  --pp-linje:rgba(17,17,17,.16);
  --pp-display:poplar-std,"Arial Narrow",Impact,sans-serif;
  --pp-text:granville,Georgia,serif;
  --pp-top:0px;
  color:var(--pp-svart);font-family:var(--pp-text);font-weight:400;position:relative;box-sizing:border-box;width:100%;
}
.pp *,.pp *::before,.pp *::after{box-sizing:border-box}
.pp [hidden]{display:none!important}
.pp :focus-visible{outline:3px solid var(--pp-svart);outline-offset:3px}
/* Poplar finns bara i en vikt – låt aldrig webbläsaren fetlägga den konstgjort */
.pp .pp-dag,.pp .pp-time,.pp .pp-day b,.pp .pp-empty .pp-clear{padding-inline:0}
.pp-empty p{font-weight:400;font-synthesis:none}

/* Filter */
.pp-filter{background:transparent;padding:10px 0 12px;pointer-events:none;display:flex;flex-direction:column;gap:10px;z-index:50}
.pp-klistrad .pp-filter{position:sticky;top:var(--pp-top)}
.pp-days,.pp-row>*{pointer-events:auto}
.pp-days{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 3px}
.pp-days::-webkit-scrollbar{display:none}
.pp .pp-day{flex:none;width:54px;height:54px;border-radius:50%;border:1.5px solid var(--pp-svart);background:var(--pp-svavel);color:var(--pp-svart);cursor:pointer;display:grid;place-content:center;justify-items:center;gap:1px;font-family:var(--pp-text);padding:0;margin:0;transition:background .15s,transform .15s}
.pp-day small{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.pp-day b{font-family:var(--pp-display);font-weight:400;font-size:1.35rem;line-height:1}
.pp-day.pp-alla b{font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.pp .pp-day:hover{background:color-mix(in srgb,var(--pp-arets) 35%,var(--pp-svavel))}
.pp .pp-day[aria-pressed="true"]{background:var(--pp-arets);transform:scale(1.06)}
.pp .pp-day.pp-tom{color:color-mix(in srgb,var(--pp-svart) 35%,var(--pp-svavel));border-color:currentColor}
.pp-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.pp .pp-tog{font-family:var(--pp-text);font-size:.9375rem;font-weight:700;line-height:1.2;border:1.5px solid var(--pp-svart);background:var(--pp-svavel);color:var(--pp-svart);border-radius:999px;padding:7px 14px 7px 10px;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.pp-tog::before{content:"";width:14px;height:14px;border-radius:50%;border:1.5px solid var(--pp-svart);background:transparent}
.pp .pp-tog.pp-barn[aria-pressed="true"]{background:var(--pp-orange)}
.pp .pp-tog.pp-fri[aria-pressed="true"]{background:var(--pp-arets)}
.pp-tog[aria-pressed="true"]::before{background:var(--pp-svart)}
.pp-count{margin-left:auto;font-size:.875rem;color:var(--pp-dov);font-variant-numeric:tabular-nums;background:var(--pp-svavel);border-radius:999px;padding:4px 12px}
.pp .pp-clear{font-family:var(--pp-text);font-size:.875rem;background:var(--pp-svavel);border:0;border-radius:999px;padding:4px 12px;margin:0;color:var(--pp-orange);text-decoration:underline;cursor:pointer}

/* Dagar */
.pp-sec{padding-top:34px;scroll-margin-top:calc(var(--pp-top) + 140px)}
.pp .pp-dag{font-family:var(--pp-display);font-weight:400;font-size:clamp(2rem,6vw,3.25rem);line-height:.95;letter-spacing:1px;text-transform:uppercase;color:var(--pp-orange);margin:0 0 20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}
.pp .pp-antal{font-family:var(--pp-text);font-size:.875rem;letter-spacing:0;text-transform:none;color:var(--pp-dov)}
.pp .pp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:22px}

/* Evenemang – rad på mobil */
.pp .pp-ev{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;margin:0;padding:0}
.pp-img{position:relative;width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--pp-arets);isolation:isolate}
.pp .pp-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 35%;display:block;border-radius:0;transition:transform .5s,opacity .4s}
.pp-img .pp-duo{filter:var(--pp-duo)}
.pp-img .pp-farg{opacity:0}
.pp-ev:hover .pp-farg,.pp-ev:focus-within .pp-farg,.pp-ev.pp-nara .pp-farg{opacity:1}
.pp-ev:hover .pp-img img{transform:scale(1.05)}
.pp-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.pp-time{font-family:var(--pp-display);font-size:1.5rem;line-height:1;letter-spacing:.5px;font-variant-numeric:tabular-nums}
.pp .pp-titel{font-family:var(--pp-text);font-weight:700;font-size:1.125rem;line-height:1.2;letter-spacing:0;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.pp .pp-titel a{color:var(--pp-orange);text-decoration:none}
.pp .pp-titel a::after{content:"";position:absolute;inset:0}
.pp .pp-ev:hover .pp-titel a{color:var(--pp-svart)}
.pp-place{font-size:.9375rem;line-height:1.3;color:var(--pp-dov)}
.pp-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px}
.pp-tag{font-size:.75rem;font-weight:700;letter-spacing:.03em;border-radius:999px;padding:3px 10px;border:1.5px solid var(--pp-svart);line-height:1.3;white-space:nowrap}
.pp-tag.pp-fri{background:var(--pp-arets)}
.pp-tag.pp-barn{background:var(--pp-orange)}
.pp-tag.pp-pris{border-color:transparent;padding-inline:0;font-weight:400;font-size:.875rem;color:var(--pp-dov)}

.pp-empty{padding:56px 0;text-align:center}
.pp-empty .pp-clear{padding-inline:0}
.pp-empty p{font-family:var(--pp-display);font-size:1.75rem;color:var(--pp-orange);margin:0 0 8px;text-transform:uppercase;letter-spacing:1px}

@media (min-width:640px){
  .pp .pp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
  .pp .pp-ev{grid-template-columns:120px minmax(0,1fr);gap:18px}
}
/* Bred skärm: bilden överst, centrerat */
@media (min-width:900px){
  .pp .pp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 32px}
  .pp .pp-ev{grid-template-columns:1fr;gap:14px;justify-items:center;align-content:start;text-align:center}
  .pp-img{width:min(100%,220px)}
  .pp-body{align-items:center}
  .pp-tags{justify-content:center}
  .pp-time{font-size:1.75rem}
  .pp .pp-titel{font-size:1.25rem}
}
@media (min-width:1180px){.pp .pp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.pp *{transition:none!important}}
