/* Apollon Student Core v0.5.11
 * Visual rule: preserve the v0.5.7 Hub/Theme card design.
 * This file adds only new functional UI (carousel, auth and icon overlay).
 * It intentionally does NOT force card backgrounds, text colors, image heights or object-fit.
 */
.asc-store-cover,.asc-shared-cover{position:relative;overflow:hidden}
.asc-shared-placeholder{display:grid;place-items:center;width:100%;min-height:150px;font-size:46px}
.asc-card-icon-badge{position:absolute;right:10px;bottom:10px;z-index:3;display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:11px;background:rgba(18,18,21,.82);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.asc-card-pin{position:absolute;left:10px;top:10px;z-index:4;width:34px;height:34px;border-radius:11px;border:1px solid rgba(255,255,255,.25);background:rgba(18,18,21,.72);color:#fff;cursor:pointer;font-size:20px;backdrop-filter:blur(8px)}
.asc-card-pin.is-pinned{background:#ef6555}

/* One complete card per carousel frame, autoplay/loop handled by student-core.js. */
.asc-carousel-section{min-width:0;margin:0 0 26px;overflow:hidden}
.asc-carousel-viewport{width:100%;overflow:hidden;touch-action:pan-y;overscroll-behavior-inline:contain}
.asc-carousel-track{display:flex!important;gap:0!important;width:100%;align-items:stretch;transform:translate3d(0,0,0);transition:transform .46s ease;will-change:transform}
.asc-carousel-slide{display:block;flex:0 0 100%!important;width:100%!important;min-width:100%!important;max-width:100%!important;box-sizing:border-box}
.asc-carousel-slide>.asc-store-card{width:100%!important;max-width:none!important;box-sizing:border-box}
.asc-carousel-controls{display:flex;gap:8px}
.asc-carousel-controls button{width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:24px;line-height:1}

/* Auth uses inherited Hub colors so Light/Dark/System remain theme-controlled. */
.asc-auth-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:32px;align-items:center;padding:clamp(24px,5vw,54px);margin:0 0 30px;border-radius:28px;background:linear-gradient(135deg,rgba(239,101,85,.14),rgba(0,178,178,.08));border:1px solid rgba(127,127,127,.18);color:inherit}
.asc-auth-copy h1{font-size:clamp(2.1rem,5vw,4.3rem);line-height:1.02;margin:.25rem 0 1rem;color:inherit}
.asc-auth-copy p{font-size:1.08rem;line-height:1.65;max-width:720px;color:inherit}
.asc-auth-actions{display:grid;gap:10px}
.asc-social-button,.asc-guest-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:10px 16px;border-radius:13px;border:1px solid rgba(127,127,127,.22);text-decoration:none;font-weight:700;cursor:pointer}
.asc-social-google,.asc-social-microsoft{background:#fff;color:#171717}.asc-social-apple{background:#111;color:#fff}.asc-social-facebook{background:#1877f2;color:#fff}
.asc-guest-button{background:rgba(127,127,127,.06);color:inherit}.asc-social-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(127,127,127,.12);font-weight:800}
.asc-auth-status{min-height:20px;font-size:.88rem}.asc-auth-status.is-error{color:#b42318}.asc-guest-explore{scroll-margin-top:80px}.asc-browse-note{padding:10px 14px;border-radius:12px;background:rgba(0,178,178,.08)}
.asc-seo-copy{max-width:980px;margin:30px 0 8px;padding:22px 0;border-top:1px solid rgba(127,127,127,.18)}.asc-seo-copy h2{font-size:clamp(1.5rem,3vw,2.2rem);color:inherit}.asc-seo-copy p{line-height:1.7;opacity:.82;color:inherit}
@media(max-width:760px){.asc-auth-panel{grid-template-columns:1fr;padding:24px}}

/* Native LifterLMS Student Dashboard: keep Lifter structure, only make links theme-readable. */
.asc-lifter-profile{min-width:0;color:inherit}
.asc-lifter-profile a:not(.llms-button-primary):not(.llms-button-secondary):not(.button),
.asc-lifter-profile a:not(.llms-button-primary):not(.llms-button-secondary):not(.button):visited{color:inherit!important;text-decoration-color:currentColor}
.asc-lifter-profile .llms-sd-items a:hover,
.asc-lifter-profile .llms-sd-items a:focus-visible{color:#ff8b7f!important}

/* Credits tab: balance + transaction history only. */
.asc-lifter-credits.asc-credits-only{min-width:0;max-width:980px}
.asc-credit-transactions{margin-top:24px}.asc-credit-transactions h3{margin:0 0 12px;color:inherit}
.asc-credit-transaction-list{display:grid;gap:8px}
.asc-credit-transaction{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-items:center;padding:12px 14px;border:1px solid rgba(127,127,127,.18);border-radius:12px;background:rgba(127,127,127,.045);color:inherit}
.asc-credit-transaction>div:first-child{min-width:0}.asc-credit-transaction strong{display:block;overflow-wrap:anywhere}.asc-credit-transaction span{display:block;margin-top:3px;font-size:.78rem;opacity:.66}.asc-credit-transaction-amount{font-weight:900;font-size:1rem}.asc-credit-transaction-amount.is-positive{color:#4fbf7f}.asc-credit-transaction-amount.is-negative{color:#ef6555}.asc-credit-transaction small{grid-column:2;font-size:.74rem;opacity:.62;text-align:right}
@media(max-width:560px){.asc-credit-transaction{grid-template-columns:minmax(0,1fr) auto}.asc-credit-transaction small{grid-column:1/-1;text-align:left}}

/* v0.5.22 clean bridge: native LifterLMS profile + navigation-only Radio control. */
.asc-header-radio-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid rgba(127,127,127,.28);border-radius:12px;color:inherit;text-decoration:none;font-weight:800;background:rgba(127,127,127,.06)}
.asc-header-radio-open:hover,.asc-header-radio-open:focus-visible{border-color:rgba(239,101,85,.55);background:rgba(239,101,85,.10);outline:none}
.asc-radio-link-card .asc-radio-open-only{margin-top:10px}

/* v0.5.24 — applications keep their own fullscreen controls; Core only makes the host fullscreen-safe. */
.asc-app-view{min-width:0}
.asc-app-view:fullscreen,.asc-app-frame:fullscreen{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;background:#000}
.asc-app-frame:fullscreen{display:block}
