/*
Theme Name: Founda Music Portal — App Edition
Theme URI: https://example.com/founda
Author: Founda
Description: Modern Zambian-inspired music streaming and digital music marketplace. Includes artist registration/login, dashboards, music uploads, artwork carousels and WooCommerce-ready digital sales.
Version: 5.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: founda-music-portal
*/

:root{--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button svg{pointer-events:none}.wrap{width:min(1180px,calc(100% - 32px));margin:auto}.header{position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;position:relative}.primary-menu{list-style:none;padding:0;margin:0}.primary-menu li{position:relative}.primary-menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:180px;list-style:none;padding:12px;z-index:120}.primary-menu li:hover>.sub-menu,.primary-menu li:focus-within>.sub-menu{display:block}.primary-menu .sub-menu a{display:block;padding:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-label{font-size:12px;color:var(--app-muted);margin-bottom:12px}.zed-player{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px}.zed-player-art{width:48px;height:48px;overflow:hidden;border-radius:8px}.zed-player-art img{width:100%;height:100%;object-fit:cover}.zed-player-top{display:flex;gap:10px;align-items:center;justify-content:space-between}.zed-player-title{min-width:0}.zed-player-title strong,.zed-player-title span{display:block}.zed-player-title strong{font-size:13px}.zed-player-title span{font-size:11px}.zed-big-play{border:0;border-radius:50%;width:36px;height:36px;background:var(--app-accent);color:#fff}.zed-progress{height:5px;margin:12px 0 6px;background:var(--app-line);border-radius:8px;overflow:hidden}.zed-progress>span{display:block;height:100%;width:0}.zed-times{display:flex;justify-content:space-between;font-size:10px}.zed-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:10px}.zed-control{padding:4px 8px;border-radius:99px;font-size:11px}.zed-volume{width:65px}.zed-player-actions{grid-column:2}.zed-download{display:inline-flex;padding:5px 10px;border-radius:8px;font-size:11px}.single-actions,.zed-share-buttons{display:flex;gap:10px;flex-wrap:wrap}.zed-share-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 12px}.zed-share-heading{display:none}.zed-share-btn b{font-size:12px}.single-post-meta{display:flex;gap:16px;margin:16px 0}.single-post-content{overflow-wrap:anywhere}.single-stats{display:flex;gap:12px}.single-artist{font-size:16px}.artist-recent-list{display:grid;gap:8px}.artist-song-row{display:grid;grid-template-columns:24px 52px 1fr auto 36px;gap:12px;align-items:center;padding:10px;border-radius:10px}.artist-song-art{height:52px;width:52px;overflow:hidden;border-radius:8px}.artist-song-art img{width:100%;height:100%;object-fit:cover}.artist-song-info{min-width:0}.artist-song-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-song-info span{font-size:11px}.artist-song-play{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--app-accent);color:white}.artist-recent-head{display:flex;align-items:center;justify-content:space-between}.artist-recent-count,.artist-song-meta,.artist-song-number{color:var(--app-muted);font-size:11px}.zed-comments-section{margin:24px 0}.zed-comment-inner{display:flex;gap:12px;padding:18px 0;border-bottom:1px solid var(--app-line)}.zed-comment-avatar{border-radius:50%}.zed-comment-meta{display:flex;gap:12px;flex-wrap:wrap}.zed-comment-meta time{font-size:11px}.zed-comment-body{flex:1;min-width:0}.zed-comment-form textarea{width:100%;min-height:130px}.zed-quick-player{display:none;position:fixed;inset:0;z-index:1000}.zed-quick-player.is-open{display:flex;align-items:center;justify-content:center}.zed-quick-player-backdrop{position:absolute;inset:0;background:#0009}.zed-quick-player-card{position:relative;width:min(430px,calc(100% - 32px));padding:24px}.zed-quick-close{position:absolute;right:12px;top:12px;width:30px;height:30px;border:0;border-radius:50%}.zed-quick-player-art{width:150px;height:150px;margin:0 auto 16px;border-radius:12px;overflow:hidden;background:var(--app-bg)}.zed-quick-player-art img{width:100%;height:100%;object-fit:cover}.zed-quick-player-art>span{height:100%;display:grid;place-items:center;font-size:50px}.zed-quick-player-body h3{font-size:20px;margin:8px 0}.zed-quick-player-body p{font-size:12px;margin:4px 0 12px}.zed-quick-progress-wrap input{width:100%;accent-color:var(--app-accent)}.zed-quick-times{display:flex;justify-content:space-between;font-size:10px;color:var(--app-muted)}.zed-quick-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px}.zed-quick-control{width:34px;height:34px;border:0;border-radius:50%}.zed-quick-main{width:44px;height:44px;border:0;border-radius:50%}.zed-player-modal-open{overflow:hidden}.kapitol-breadcrumbs{display:flex;gap:10px;flex-wrap:wrap}.field{margin:15px 0}.field label{display:block;margin-bottom:6px}.field input,.field select,.field textarea{width:100%}.notice{padding:14px;background:var(--app-bg);border:1px solid var(--app-line);border-radius:10px}.founda-footer-creator-copy h2{margin:8px 0}.founda-footer-creator-copy p{margin:8px 0}.zed-comment-form input{max-width:100%}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:600px){.artist-song-row{grid-template-columns:44px minmax(0,1fr) 36px;gap:10px}.artist-song-number,.artist-song-meta{display:none}.artist-song-art{width:44px;height:44px}.artist-recent-count{display:none}.primary-menu .sub-menu{position:static}}

/* App Edition: one presentation layer. Legacy styles retained for dashboard compatibility. */
body.founda-app{--app-bg:#f6f7f9;--app-surface:#fff;--app-ink:#18202c;--app-muted:#697383;--app-line:#e5e8ed;--app-accent:#e65f2b;--app-hero:300px;--bg:var(--app-bg);--surface:var(--app-surface);--surface2:var(--app-bg);--text:var(--app-ink);--muted:var(--app-muted);--line:var(--app-line);--brand:var(--app-accent);background:var(--app-bg);color:var(--app-ink);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
html[data-founda-theme=dark] body.founda-app{--app-bg:#101318;--app-surface:#191e26;--app-ink:#f2f4f8;--app-muted:#a1aabb;--app-line:#2b3340}
.founda-app .wrap{width:min(1180px,calc(100% - 56px));max-width:1180px}.founda-app h1,.founda-app h2,.founda-app h3{color:var(--app-ink)}.founda-app .eyebrow{color:var(--app-accent);font-size:10px;letter-spacing:1.9px}.founda-app .header{background:var(--app-surface);border-bottom:1px solid var(--app-line);box-shadow:none;backdrop-filter:blur(18px)}.founda-app .nav{height:76px;display:flex;gap:24px}.founda-app .logo{position:static;transform:none;order:0;margin-right:auto;font-size:27px;color:var(--app-ink);letter-spacing:-1.2px}.founda-app .header-logo-image{height:38px;width:auto;max-width:150px;object-fit:contain}.founda-app .navlinks{order:1;margin:0}.founda-app .primary-menu{display:flex;gap:22px;list-style:none;padding:0;margin:0}.founda-app .primary-menu a{font-size:13px;font-weight:600;color:var(--app-muted)}.founda-app .primary-menu .current-menu-item>a,.founda-app .primary-menu a:hover{color:var(--app-accent)}.founda-app .theme-toggle{order:2;background:var(--app-bg);color:var(--app-ink);border:1px solid var(--app-line);border-radius:12px;padding:8px 12px}.founda-app .header-search-button{order:3;position:static;transform:none;border:1px solid var(--app-line);background:var(--app-bg);color:var(--app-muted);border-radius:12px;padding:9px 12px;display:flex;gap:8px;align-items:center}.founda-app .header-search-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.founda-app .mobile-menu{color:var(--app-ink);order:4}.founda-app .kapitol-breadcrumbs{width:min(1180px,calc(100% - 56px));margin:20px auto 0;color:var(--app-muted);font-size:12px}
.app-welcome{padding:38px 0 26px}.app-welcome h1{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-1.5px;margin:10px 0}.app-welcome p{color:var(--app-muted);margin:0;max-width:650px}.app-browse{display:flex;gap:8px;padding:24px 0 4px;overflow:auto}.app-browse a{border:1px solid var(--app-line);background:var(--app-surface);color:var(--app-muted);border-radius:999px;padding:9px 20px;font-size:12px;font-weight:650;white-space:nowrap}.app-browse a.is-active{background:var(--app-ink);color:var(--app-surface);border-color:var(--app-ink)}.app-section{padding:28px 0 8px}.app-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.app-section-head h2{font-size:21px;letter-spacing:-.6px;margin:0}.app-section-head>a{color:var(--app-muted);font-size:12px;font-weight:600}.app-song-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.app-song{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid var(--app-line);background:var(--app-surface);border-radius:15px;min-width:0;transition:transform .16s,border-color .16s}.app-song:hover{transform:translateY(-2px);border-color:var(--app-accent)}.app-song-art{flex:0 0 62px;width:62px;height:62px;border-radius:10px;overflow:hidden;background:var(--app-bg);display:grid;place-items:center;color:var(--app-muted);font-size:25px}.app-song-art img{width:100%;height:100%;object-fit:cover}.app-song-copy{flex:1;min-width:0}.app-song-copy>a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--app-ink);font-size:13px;font-weight:700;line-height:1.5}.app-song-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--app-muted);font-size:11px;margin-top:4px}.app-play,.app-open{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--app-bg);border:1px solid var(--app-line);color:var(--app-ink);font-size:12px;cursor:pointer}.app-play:hover{background:var(--app-accent);border-color:var(--app-accent);color:#fff}.app-empty{color:var(--app-muted)}
.founda-app .hero-slider{margin:0;border-radius:22px;overflow:hidden}.founda-app .hero-slider,.founda-app .hero-slides,.founda-app .hero-slide,.founda-app .hero-inner{height:var(--app-hero);min-height:var(--app-hero);max-height:none}.founda-app .hero-inner{padding:28px;width:100%;align-items:center}.founda-app .hero-copy{max-width:65%}.founda-app .hero-copy h1,.founda-app .hero-copy h2{font-size:clamp(25px,3.5vw,43px);letter-spacing:-1px;line-height:1.12;color:#fff;margin:10px 0;max-width:650px}.founda-app .hero-copy p{font-size:12px;color:#d8dce4;max-width:460px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.founda-app .hero-slide-overlay{background:linear-gradient(90deg,rgba(9,14,23,.92),rgba(9,14,23,.55) 55%,rgba(9,14,23,.12))}.founda-app .hero-neon-grid,.founda-app .hero-track-pill,.founda-app .hero-center-play,.founda-app .hero-latest-label{display:none}.founda-app .hero-category{background:rgba(255,255,255,.15);color:#fff;border:0}.founda-app .hero-actions{margin-top:16px}.founda-app .hero-credit{color:#e7e9ee;font-size:12px}.founda-app .btn{background:var(--app-accent);color:#fff;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:650;padding:11px 18px;box-shadow:none}.founda-app .btn.dark{background:var(--app-surface);color:var(--app-ink);border-color:var(--app-line)}.founda-app .hero-details{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}.founda-app .hero-dots{bottom:15px}.founda-app .hero-arrow{background:rgba(0,0,0,.4);color:#fff;box-shadow:none;width:30px;height:30px}
.founda-app .page,.founda-app .single-release{padding:32px 0;background:transparent}.founda-app .release-stage{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:center;background:var(--app-surface);border:1px solid var(--app-line);padding:26px;border-radius:22px;box-shadow:none}.founda-app .single-artwork{width:100%;max-width:300px;aspect-ratio:1;border-radius:15px;overflow:hidden}.founda-app .single-artwork>img{width:100%;height:100%;object-fit:cover}.founda-app .single-copy h1{font-size:clamp(29px,4vw,48px);line-height:1.15;letter-spacing:-1.5px}.founda-app .single-copy p,.founda-app .single-stats{color:var(--app-muted)}.founda-app .single-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.app-about-link{font-size:12px;color:var(--app-muted);width:100%;margin-bottom:6px}.founda-app .single-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:24px;margin:24px 0}.founda-app .single-description,.founda-app .single-player-panel,.founda-app .panel,.founda-app .artist-recent-section,.founda-app .zed-comments-section{background:var(--app-surface);border:1px solid var(--app-line);border-radius:18px;padding:24px;color:var(--app-ink);box-shadow:none}.founda-app .single-description .sectionhead{display:block}.founda-app .single-description h2{font-size:22px}.founda-app .single-description p,.founda-app .single-post-content{font-size:14px;line-height:1.85}.founda-app .single-post-panel{max-width:850px;margin:auto}.founda-app .single-post-art{max-height:380px;overflow:hidden;border-radius:12px}.founda-app .single-post-art img{width:100%;max-height:380px;object-fit:cover}.founda-app .single-post-panel h1{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-1px}.founda-app .single-post-meta{color:var(--app-muted)}.founda-app .zed-player{background:var(--app-bg);border:1px solid var(--app-line);border-radius:14px;color:var(--app-ink);box-shadow:none}.founda-app .zed-player-title strong{color:var(--app-ink)}.founda-app .zed-player-title span,.founda-app .zed-times{color:var(--app-muted)}.founda-app .zed-control,.founda-app .zed-download{background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink)}.founda-app .zed-share{background:transparent;border:0;padding:20px 0}.founda-app .zed-share-btn{background:var(--app-surface);border:1px solid var(--app-line);color:var(--app-ink);border-radius:10px}.founda-app .artist-song-title{color:var(--app-ink)}.founda-app .artist-song-info span,.founda-app .artist-song-meta{color:var(--app-muted)}.founda-app .zed-comment-content,.founda-app .zed-comment-author{color:var(--app-ink)}.founda-app input:not([type=range]):not([type=checkbox]):not([type=radio]),.founda-app textarea,.founda-app select{background:var(--app-bg);color:var(--app-ink);border:1px solid var(--app-line);border-radius:10px;max-width:100%;padding:12px}.founda-app .field label{color:var(--app-ink)}.founda-app .app-archive{min-height:55vh;padding-bottom:40px}.app-search{display:flex;gap:10px;max-width:620px;margin:20px 0}.app-search input{flex:1;min-width:0}.app-search button{background:var(--app-accent);color:white;border:0;border-radius:10px;padding:10px 18px;font-weight:650;cursor:pointer}.app-not-found{padding:90px 0;min-height:65vh}.app-not-found h1{font-size:clamp(32px,5vw,54px);line-height:1.1;letter-spacing:-1.5px}.app-not-found p{color:var(--app-muted)}.founda-app .pagination{margin:30px 0}.founda-app .nav-links{display:flex;gap:8px;flex-wrap:wrap}.founda-app .page-numbers{background:var(--app-surface);color:var(--app-ink);border:1px solid var(--app-line);padding:8px 14px;border-radius:9px}.founda-app .page-numbers.current{background:var(--app-accent);color:white}
.founda-app .founda-minimal-footer{margin-top:48px;padding:24px 0;background:var(--app-surface);border-top:1px solid var(--app-line)}.founda-app .founda-footer-creator-banner{width:min(1180px,calc(100% - 56px));margin:auto;padding:16px 0;background:transparent;border:0;display:flex;align-items:center;justify-content:space-between;gap:30px}.founda-app .founda-footer-creator-copy h2{color:var(--app-ink);font-size:24px;letter-spacing:-.6px}.founda-app .founda-footer-creator-copy p{color:var(--app-muted);font-size:12px;max-width:520px}.founda-app .zed-footer-cta-kicker{color:var(--app-accent);font-size:10px;letter-spacing:1.5px}.founda-app .zed-footer-cta-actions{display:flex;gap:10px;flex-wrap:wrap}.founda-app .zed-footer-cta-actions a{background:var(--app-accent);color:white;border-radius:10px;padding:11px 16px;font-size:12px}.founda-app .zed-footer-cta-actions a.is-secondary{background:var(--app-bg);color:var(--app-ink);border:1px solid var(--app-line)}.founda-app .zed-quick-player-card{background:var(--app-surface);color:var(--app-ink);border:1px solid var(--app-line);border-radius:22px;box-shadow:0 24px 90px #0004}.founda-app .zed-quick-player-body h3{color:var(--app-ink)}.founda-app .zed-quick-player-body p{color:var(--app-muted)}.founda-app .zed-quick-close,.founda-app .zed-quick-control{background:var(--app-bg);color:var(--app-ink)}.founda-app .zed-quick-main{background:var(--app-accent);color:white}.founda-app .zed-quick-player-glow{display:none}.founda-app a:focus-visible,.founda-app button:focus-visible,.founda-app input:focus-visible,.founda-app textarea:focus-visible{outline:3px solid var(--app-accent);outline-offset:4px}.app-skip{position:fixed;left:16px;top:-100px;z-index:9999;padding:12px 20px;background:var(--app-surface);color:var(--app-ink);border:2px solid var(--app-accent)}.app-skip:focus{top:12px}.founda-app .app-muted{color:var(--app-muted)}.founda-app .single-post-content img{height:auto}.founda-app .single-description{scroll-margin-top:100px}
@media(min-width:901px){.founda-app .mobile-menu{display:none}}
@media(max-width:900px){.founda-app .nav{gap:14px}.founda-app .mobile-menu{display:block}.founda-app .navlinks{display:none}.founda-app .navlinks.is-open{display:flex;position:absolute;top:76px;left:0;right:0;width:100%;padding:20px;background:var(--app-surface);border-bottom:1px solid var(--app-line)}.founda-app .navlinks.is-open .primary-menu{display:flex;flex-direction:column;width:100%}.founda-app .navlinks.is-open a{display:block}.founda-app .release-stage{grid-template-columns:210px minmax(0,1fr);gap:22px}.founda-app .single-content-grid{grid-template-columns:1fr}.founda-app .single-player-panel{position:static}.founda-app .founda-footer-creator-banner{flex-direction:column;align-items:flex-start}.founda-app .hero-copy{max-width:80%}}
@media(max-width:600px){.founda-app .wrap,.founda-app .kapitol-breadcrumbs,.founda-app .founda-footer-creator-banner{width:calc(100% - 32px)}.founda-app .nav{height:66px;gap:10px}.founda-app .navlinks.is-open{top:66px}.founda-app .header-search-button span,.founda-app .theme-toggle-label{display:none}.founda-app .logo{font-size:24px}.founda-app .theme-toggle{padding:7px 10px}.app-welcome{padding:28px 0 22px}.app-welcome h1{font-size:30px;letter-spacing:-1px}.app-welcome p{font-size:12px}.app-song-grid{grid-template-columns:1fr;gap:8px}.app-song{padding:10px;gap:12px}.app-song-art{width:54px;height:54px;flex-basis:54px}.app-section{padding-top:24px}.app-section-head h2{font-size:19px}.app-browse a{padding:8px 16px}.founda-app .hero-slider{border-radius:16px}.founda-app .hero-inner{padding:22px}.founda-app .hero-copy{max-width:94%}.founda-app .hero-copy h1,.founda-app .hero-copy h2{font-size:28px}.founda-app .hero-copy p{font-size:11px}.founda-app .hero-actions .btn{padding:9px 12px;font-size:11px}.founda-app .hero-arrow{display:none}.founda-app .release-stage{grid-template-columns:1fr;padding:18px;gap:20px}.founda-app .single-artwork{max-width:240px}.founda-app .single-copy h1{font-size:30px}.founda-app .single-actions .btn{width:auto}.founda-app .single-description,.founda-app .single-player-panel,.founda-app .panel{padding:18px}.founda-app .single-post-art img{max-height:260px}.founda-app .app-search button{padding:10px 12px}.founda-app .zed-share-buttons{flex-wrap:wrap}.founda-app .zed-share-btn b{font-size:11px}.founda-app .zed-comments-section{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.founda-app *{animation:none;transition:none}}

.founda-app .hero-play-now{background:var(--app-accent);color:white}.founda-app .zed-progress{cursor:pointer}.founda-app .zed-progress span{background:var(--app-accent)}.founda-app .zed-comments-empty,.founda-app .zed-comment-note,.founda-app .zed-comment-meta time{color:var(--app-muted)}.founda-app .zed-comment-submit{background:var(--app-accent);color:#fff;border:0;border-radius:10px;padding:12px 20px;cursor:pointer}.founda-app .artist-song-row:hover{background:var(--app-bg)}.founda-app .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.founda-app .primary-menu .sub-menu{background:var(--app-surface);border-color:var(--app-line)}.founda-app .single-post-content pre{max-width:100%;overflow:auto}.founda-app .single-post-content iframe{max-width:100%}.founda-app .app-about-link{color:var(--app-muted)}

.founda-app .theme-toggle{position:static;transform:none;display:inline-flex;align-items:center;justify-content:center}.founda-app .navlinks{position:static;transform:none;width:auto}.founda-app .primary-menu .sub-menu{background:var(--app-surface);border:1px solid var(--app-line);border-radius:10px}.founda-app .header-logo-image{width:auto;height:38px}.founda-app .navlinks.is-open{transform:none}.founda-app .single-player-panel{position:static}.founda-app .single-post-panel{overflow:hidden}
