.apgym{--bg:#0f1115;--card:#12161d;--border:rgba(255,255,255,.08);--text:#e8eefc;--muted:rgba(232,238,252,.72);--chip:rgba(255,255,255,.08);--chipText:#d8e5ff;--shadow:0 10px 30px rgba(0,0,0,.35);--radius:18px;--radiusSm:12px;--gap:16px;--focus:rgba(130,185,255,.35);color:var(--text)}
.apgym *{box-sizing:border-box}
.apgym__grid{display:grid;gap:var(--gap);grid-template-columns:repeat(var(--apgym-cols-mobile),minmax(0,1fr))}
@media (min-width:768px){.apgym__grid{grid-template-columns:repeat(var(--apgym-cols-tablet),minmax(0,1fr))}}
@media (min-width:1024px){.apgym__grid{grid-template-columns:repeat(var(--apgym-cols-desktop),minmax(0,1fr))}}

.apgym-card{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform:translateZ(0);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.apgym-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.14);box-shadow:0 14px 36px rgba(0,0,0,.42)}
.apgym-card__thumb{display:block;aspect-ratio:16/9;background:rgba(255,255,255,.03);overflow:hidden}
.apgym-card__img{width:100%;height:100%;object-fit:cover;display:block}
.apgym-card__img--placeholder{width:100%;height:100%;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.08),rgba(255,255,255,.02) 55%,rgba(255,255,255,.01))}
.apgym-card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:10px}
.apgym-card__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:12px}
.apgym-card__views{display:inline-flex;align-items:center;gap:6px}
.apgym-card__eye{filter:grayscale(1);opacity:.9}
.apgym-card__title{margin:0;font-size:16px;line-height:1.35}
.apgym-card__title a{color:var(--text);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.apgym-card__title a:hover{text-decoration:underline}
.apgym-card__chip{align-self:flex-start;width:50%;max-width:50%;min-width:0;padding:7px 10px;border-radius:999px;background:var(--chip);border:1px solid rgba(255,255,255,.09);color:var(--chipText);text-decoration:none;font-size:12px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apgym-card__chip:hover{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.10)}
.apgym mark{background:rgba(130,185,255,.28);color:inherit;padding:0 .12em;border-radius:.25em}

.apgym__below{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:16px}
.apgym__loadMore{appearance:none;border:none;background:rgba(255,255,255,.08);color:var(--text);padding:12px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.10);transition:transform .15s ease, background .15s ease, border-color .15s ease}
.apgym__loadMore:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.10)}
.apgym__loadMore[disabled]{opacity:.65;cursor:default;transform:none}
.apgym__spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:rgba(255,255,255,.85);display:none;animation:apgym-spin .8s linear infinite}
.apgym__loadMore.is-loading .apgym__spinner{display:inline-block}
@keyframes apgym-spin{to{transform:rotate(360deg)}}

.apgym-card--skeleton{box-shadow:none}
.apgym-card--skeleton .apgym-card__thumb,
.apgym-card--skeleton .apgym-card__meta,
.apgym-card--skeleton .apgym-card__title{background:rgba(255,255,255,.06);border-radius:var(--radiusSm)}
.apgym-card--skeleton .apgym-card__thumb{aspect-ratio:16/9}
.apgym-card--skeleton .apgym-card__meta{height:12px;width:70%}
.apgym-card--skeleton .apgym-card__title{height:14px}
.apgym-card--skeleton .apgym-card__title--sm{width:85%}
.apgym-card--skeleton .apgym-card__body{gap:12px}

/* Prevent WP duotone / image filters from affecting card thumbnails */
.apgym :where(img){filter:none !important;-webkit-filter:none !important}

/* v2.1.1 fixes: skeleton placeholders should occupy full grid width */
.apgym__skeleton{width:100%;display:grid;gap:var(--gap);grid-template-columns:repeat(var(--apgym-cols-mobile),minmax(0,1fr))}
@media (min-width:768px){.apgym__skeleton{grid-template-columns:repeat(var(--apgym-cols-tablet),minmax(0,1fr))}}
@media (min-width:1024px){.apgym__skeleton{grid-template-columns:repeat(var(--apgym-cols-desktop),minmax(0,1fr))}}
.apgym__skeleton .apgym-card{width:100%}

/* v2.1.1 fixes: stable card layout */
.apgym-card__body{min-height:140px}
.apgym-card__title a{min-height:calc(1.35em * 2)}
.apgym-card__chip{margin-top:auto}

.apgym__skeleton[hidden]{display:none !important}
