/* Colour in Culture (2.17.0 redesign). Fonts, buttons, chips, fields and colour tokens come from the theme; this file
   only lays out the hub, the work page and their cards. Grids always fill their rows. */

/* shared */
.pcke-cul{--cul-gap:22px}
.pcke-cul [hidden]{display:none!important}
.pcke-cul [id]{scroll-margin-top:130px}
.pcke-page-content .pcke-cul a:is(.pcke-chip,.pcke-button,.pcke-cul-pill),.pcke-page-content .pcke-cul a:is(.pcke-chip,.pcke-button,.pcke-cul-pill):is(:hover,:focus-visible),.pcke-page-content .pcke-cul .pcke-lx-stats a,.pcke-page-content .pcke-cul :is(.pcke-cul-card__link,.pcke-cul-wall a,.pcke-cul-lay>a,.pcke-cul-hero__by a){text-decoration:none}
.pcke-culture__strip{display:flex;height:12px;border-radius:6px;overflow:hidden}
.pcke-culture__strip i{flex:1}
.pcke-cul-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin:0 0 18px}
.pcke-cul-head h2{margin:0;font-family:"PCKE Poppins",var(--pcke-font);font-size:clamp(24px,2.6vw,32px);line-height:1.15;letter-spacing:-.02em}
.pcke-cul-head p{display:flex;align-items:center;gap:10px;margin:0;color:var(--pcke-muted);font-size:15px}

/* hub: hero */
.pcke-cul-top{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.pcke-cul-search{max-width:600px;margin:0}
.pcke-cul-search .pcke-lx-search{max-width:none}
.pcke-cul .pcke-lx-stats a{display:contents;color:inherit}
.pcke-cul-wall{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:repeat(2,clamp(150px,15vw,212px));gap:12px;list-style:none;margin:0;padding:0}
.pcke-cul-wall li{min-width:0}
.pcke-cul-wall li:first-child{grid-row:span 2}
.pcke-cul-wall a{position:relative;display:block;height:100%;border-radius:18px;overflow:hidden;background:var(--m);box-shadow:0 18px 40px -26px rgba(0,0,0,.55);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s;animation:pcke-cul-in .8s cubic-bezier(.22,1,.36,1) backwards}
.pcke-cul-wall li:nth-child(2) a{animation-delay:60ms}.pcke-cul-wall li:nth-child(3) a{animation-delay:120ms}.pcke-cul-wall li:nth-child(4) a{animation-delay:180ms}.pcke-cul-wall li:nth-child(5) a{animation-delay:240ms}
.pcke-cul-wall a:hover,.pcke-cul-wall a:focus-visible{transform:translateY(-4px);box-shadow:0 26px 44px -24px rgba(0,0,0,.6)}
.pcke-cul-wall img{position:absolute;left:0;top:0;width:100%;height:calc(100% - 12px);object-fit:cover}
.pcke-cul-wall .pcke-culture__strip{position:absolute;left:0;right:0;bottom:0;border-radius:0}
.pcke-cul-wall__label{position:absolute;left:12px;right:12px;bottom:26px;display:grid;justify-items:start;gap:4px}
.pcke-cul-wall__label :is(b,small){max-width:100%;box-sizing:border-box;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.94);color:#18233A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcke-cul-wall__label b{white-space:normal;border-radius:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pcke-cul-wall__label b{font:700 clamp(15px,1.4vw,19px)/1.3 "PCKE Poppins",var(--pcke-font)}
.pcke-cul-wall__label small{font-size:13px;font-weight:600}
@keyframes pcke-cul-in{from{opacity:0;transform:translateY(14px)}}

/* hub: one sticky row of categories and the filters menu (the menu sits outside the scrolling chips so it is never clipped) */
.pcke-cul-bar{position:sticky;top:72px;z-index:15;display:flex;align-items:center;gap:12px;margin:0 calc(50% - 50vw);padding:10px max(var(--pcke-gutter,16px),calc(50vw - var(--pcke-width,1200px) / 2 + var(--pcke-gutter,16px)));background:var(--pcke-surface-glass,rgba(255,255,255,.88));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--pcke-line)}
.pcke-cul-bar__chips{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.pcke-cul-bar>.pcke-rail{flex:1;min-width:0}
.pcke-cul-bar__chips::-webkit-scrollbar{display:none}
.pcke-cul-bar__chips .pcke-chip{flex:none;gap:7px}
.pcke-cul-bar__chips .pcke-chip span{font-size:12px;font-weight:600;opacity:.6;font-variant-numeric:tabular-nums}
.pcke-cul .pcke-chip[aria-current="page"]{background:var(--pcke-ink);color:var(--pcke-bg);border-color:var(--pcke-ink)}
.pcke-cul-filters{flex:none}
.pcke-cul-filters>summary{display:inline-flex;align-items:center;gap:7px}
.pcke-cul-filters>summary svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.pcke-cul-filters__n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:10px;background:var(--pcke-ink);color:var(--pcke-bg);font-size:12px}
.pcke-cul-filters .pcke-menu__list{display:grid;gap:12px;width:min(340px,calc(100vw - 32px));padding:16px;box-sizing:border-box}
.pcke-cul-filters .pcke-field{margin:0}
.pcke-cul-filters__acts{display:flex;gap:8px}

/* hub: results */
.pcke-cul-results{margin-top:clamp(24px,3vw,36px)}
.pcke-cul-empty{margin:0 0 24px;padding:22px;border-radius:18px;background:var(--pcke-bg-soft)}
.pcke-cul-empty p{margin:0 0 14px}

/* card grid. Each frame is as tall as one column is wide x 1.2, measured from the grid (a container), so a card that
   Full rows widens keeps the same height as its neighbours. */
.pcke-cul-grid{--cols:4;container-type:inline-size;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:34px var(--cul-gap);list-style:none;margin:0;padding:0}
.pcke-cul-card{min-width:0}
.pcke-cul-card__link{display:flex;flex-direction:column;color:inherit}
.pcke-cul-card__frame{position:relative;display:block;height:calc((100cqw - (var(--cols) - 1) * var(--cul-gap)) / var(--cols) * 1.2);border-radius:18px;overflow:hidden;background:color-mix(in oklab,var(--m) 16%,var(--pcke-bg-soft,#F4F5F8));transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.pcke-cul-card__frame img{position:absolute;inset:0;width:100%;height:100%;box-sizing:border-box;padding:clamp(12px,7%,22px);object-fit:contain;filter:drop-shadow(0 12px 16px rgba(0,0,0,.22))}
.pcke-cul-card__link:hover .pcke-cul-card__frame,.pcke-cul-card__link:focus-visible .pcke-cul-card__frame{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(0,0,0,.5)}
.pcke-cul-card__kind{position:absolute;top:10px;left:10px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:#18233A;font-size:12px;font-weight:600;line-height:1.4}
.pcke-cul-card .pcke-culture__strip{height:12px;margin:12px 0 0}
.pcke-cul-card__title{margin:10px 0 2px;font:700 16px/1.3 "PCKE Poppins",var(--pcke-font);color:var(--pcke-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcke-cul-card__meta{color:var(--pcke-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* work page: hero */
.pcke-cul-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);grid-template-areas:"art head" "art side";grid-template-rows:auto 1fr;gap:4px clamp(28px,4.5vw,64px);padding:clamp(20px,3vw,40px) 0 clamp(28px,4vw,48px)}
.pcke-cul-hero::before{content:"";position:absolute;z-index:-1;inset:0 calc(50% - 50vw);background:radial-gradient(42% 60% at 18% 30%,color-mix(in srgb,var(--m) 20%,transparent),transparent 72%),radial-gradient(36% 50% at 88% 12%,color-mix(in srgb,var(--m2,var(--m)) 14%,transparent),transparent 70%),var(--pcke-bg,#fff)}
html[data-theme="dark"] .pcke-cul-hero::before{opacity:.7}
.pcke-cul-hero__head{grid-area:head;align-self:end;min-width:0}
.pcke-cul-hero__title{margin:0 0 12px;font:800 clamp(32px,4.2vw,56px)/1.06 "PCKE Poppins",var(--pcke-font);letter-spacing:-.03em;color:var(--pcke-ink);overflow-wrap:anywhere}
.pcke-cul-hero__by{display:flex;align-items:baseline;gap:8px;margin:0 0 26px;font-size:16px;color:var(--pcke-muted)}
.pcke-cul-hero__by a{display:inline-flex;align-items:center;min-width:0;min-height:36px;padding:6px 16px;box-sizing:border-box;line-height:1.35;border-radius:18px;background:var(--pcke-surface);box-shadow:0 0 0 1px var(--pcke-line);color:var(--pcke-ink);font-weight:700}
.pcke-cul-hero__by a:hover{box-shadow:0 0 0 1px var(--pcke-ink)}
.pcke-cul-hero__art{grid-area:art;margin:0;min-width:0}
/* 2.19.1: a definite track, so max-height:100% holds tall posters inside the frame */
.pcke-cul-hero__mat{display:grid;grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;height:min(70vh,660px);padding:clamp(18px,3vw,44px);box-sizing:border-box;border-radius:24px;background:color-mix(in oklab,var(--m) 18%,var(--pcke-bg-soft,#F4F5F8))}
.pcke-cul-hero__mat img{display:block;width:auto;height:auto;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;box-shadow:0 30px 60px -28px rgba(0,0,0,.6)}
.pcke-cul-hero__art figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px;font-size:13px;line-height:1.4;color:var(--pcke-muted)}
.pcke-cul-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--pcke-line);color:var(--pcke-ink);font-size:12px;font-weight:600}
a.pcke-cul-pill:hover{box-shadow:inset 0 0 0 1px var(--pcke-ink)}
.pcke-cul-hero__side{grid-area:side;min-width:0}
.pcke-cul-hero__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.pcke-cul-hero__h{margin:0;font:700 14px "PCKE Poppins",var(--pcke-font);letter-spacing:.06em;text-transform:uppercase;color:var(--pcke-muted)}
.pcke-cul-share{display:flex;height:58px;margin:0 0 10px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.pcke-cul-share i{flex-basis:0;min-width:6px}
.pcke-cul-swatches{display:grid;gap:2px;list-style:none;margin:0 0 20px;padding:0}
html body .pcke-cul-swatches button{display:grid;grid-template-columns:36px minmax(0,1fr) auto 40px 18px;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:6px 10px 6px 6px;border:0;border-radius:12px;background:none;box-shadow:none;color:var(--pcke-ink);font:inherit;text-align:left;cursor:pointer}
html body .pcke-cul-swatches button:is(:hover,:focus-visible){background:var(--pcke-bg-soft);color:var(--pcke-ink)}
.pcke-cul-swatches i{width:36px;height:36px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.pcke-cul-swatches b{overflow:hidden;font-size:15px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.pcke-cul-swatches code{padding:0;background:none;font:600 14px var(--pcke-mono,ui-monospace,monospace);color:var(--pcke-ink)}
.pcke-cul-swatches small{text-align:right;font-size:13px;color:var(--pcke-muted);font-variant-numeric:tabular-nums}
.pcke-cul-swatches svg{fill:none;stroke:var(--pcke-muted);stroke-width:1.8;opacity:0;transition:opacity .2s}
.pcke-cul-swatches button:is(:hover,:focus-visible) svg{opacity:1}
.pcke-cul-acts{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.pcke-cul-status{min-height:1.4em;margin:10px 0 0;font-size:14px;color:var(--pcke-muted)}

/* work page: layouts (19 + the studio tile = 20: 5, 4 and 2 columns fill every row) */
.pcke-cul-lays{--cols:5;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:28px 18px;list-style:none;margin:0;padding:0}
.pcke-cul-lay{position:relative;min-width:0}
.pcke-cul-lay>a{display:flex;flex-direction:column;color:inherit}
.pcke-cul-lay__sheet{display:block;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--pcke-line),0 16px 30px -24px rgba(0,0,0,.4);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.pcke-cul-lay>a:is(:hover,:focus-visible) .pcke-cul-lay__sheet{transform:translateY(-4px);box-shadow:0 0 0 1px var(--pcke-line),0 26px 40px -26px rgba(0,0,0,.5)}
.pcke-cul-lay canvas{display:block;width:100%;height:100%}
.pcke-cul-lay>a>b{margin-top:10px;font:700 15px/1.3 "PCKE Poppins",var(--pcke-font);color:var(--pcke-ink)}
.pcke-cul-lay>a>small{font-size:13px;color:var(--pcke-muted)}
html body .pcke-cul-lay__dl{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:36px;height:36px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#18233A;box-shadow:0 4px 14px -6px rgba(0,0,0,.45);opacity:0;cursor:pointer;transition:opacity .2s}
html body .pcke-cul-lay__dl:hover{background:#fff;color:#18233A}
.pcke-cul-lay:hover .pcke-cul-lay__dl,html body .pcke-cul-lay__dl:focus-visible{opacity:1}
@media (hover:none){html body .pcke-cul-lay__dl{opacity:1}}
.pcke-cul-lay__dl svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pcke-cul-lay--studio .pcke-cul-lay__sheet{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:22px;box-sizing:border-box;background:var(--pcke-bg-soft)}
.pcke-cul-lay__dots{display:flex;gap:5px;margin-bottom:6px}
.pcke-cul-lay__dots i{width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.pcke-cul-lay--studio strong{font:700 clamp(17px,1.6vw,20px)/1.2 "PCKE Poppins",var(--pcke-font);color:var(--pcke-ink)}
.pcke-cul-lay--studio .pcke-cul-lay__sheet>span:last-child{font-size:14px;line-height:1.45;color:var(--pcke-muted)}
.pcke-cul-related{margin-top:clamp(36px,5vw,64px)}
.pcke-cul-grid--four{--cols:4}

/* creator timeline */
.pcke-culture__section{margin:28px 0 0}
.pcke-culture__timeline{display:grid;gap:8px;margin:16px 0 0}
.pcke-culture__timeline>a{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:16px;align-items:center;padding:10px 14px;border-radius:12px;background:var(--pcke-bg-soft);color:inherit}
.pcke-culture__timeline .pcke-culture__strip{height:22px}

@media (max-width:1100px){.pcke-cul-lays{--cols:4}}
@media (max-width:1020px){.pcke-cul-grid{--cols:3}.pcke-cul-grid--four{--cols:4}}
@media (max-width:900px){
 .pcke-cul-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "art" "side";grid-template-rows:none;gap:18px}
 .pcke-cul-hero__by{margin-bottom:0}
 .pcke-cul-hero__mat{height:auto;padding:18px}
 .pcke-cul-hero__mat img{max-height:min(56vh,440px)}
}
@media (max-width:860px){.pcke-cul-wall{grid-template-rows:repeat(2,clamp(112px,26vw,170px));gap:8px}.pcke-cul-wall__label{bottom:20px;left:8px;right:8px}.pcke-cul-wall__label small{display:none}}
@media (max-width:700px){
 .pcke-cul,.pcke-cul-grid{--cul-gap:12px}
 .pcke-cul-grid,.pcke-cul-grid--four{--cols:2;row-gap:26px}
 .pcke-cul-lays{--cols:2;gap:22px 12px}
 .pcke-cul-card__frame{border-radius:14px}
 .pcke-cul-card__frame img{padding:10px}
 .pcke-cul-card__kind{top:7px;left:7px;font-size:11px;padding:2px 8px}
 .pcke-cul-card__title{font-size:15px}
 .pcke-cul-card__meta{font-size:13px}
 .pcke-cul-bar{gap:8px}
 .pcke-cul-head p{font-size:14px}
 .pcke-culture__timeline>a{grid-template-columns:1fr;gap:6px}
 .pcke-cul .pcke-lx-stats{gap:6px;margin-top:14px}
 .pcke-cul .pcke-lx-stats li{padding:6px 10px;font-size:13px;border-radius:12px}
 .pcke-cul .pcke-lx-stats b{font-size:15px}
 .pcke-cul-acts .pcke-button{padding-inline:14px}
 html body .pcke-cul-swatches button{grid-template-columns:32px minmax(0,1fr) auto 36px;gap:10px}
 .pcke-cul-swatches i{width:32px;height:32px}
 .pcke-cul-swatches svg{display:none}
 .pcke-cul-share{height:44px}
}
@media (prefers-reduced-motion:reduce){.pcke-cul-wall a,.pcke-cul-card__frame,.pcke-cul-lay__sheet{animation:none;transition:none}}

/* admin editor */
.pcke-culture-admin__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pcke-culture-admin__fields label{display:grid;gap:6px}.pcke-culture-admin__fields input{width:100%}.pcke-culture-admin__image{max-width:320px;max-height:240px;object-fit:contain}.pcke-culture-admin__color{display:flex;align-items:center;gap:8px;margin:10px 0}.pcke-culture-admin__color input[type=text]{max-width:200px}
@media (max-width:640px){.pcke-culture-admin__fields{grid-template-columns:1fr}}
