/* MemeSoundHub — main stylesheet */

:root{
	--bg:#f4f5f8;
	--card:#ffffff;
	--text:#1c1f26;
	--muted:#6b7280;
	--border:#e6e8ee;
	--accent:#ff3d68;
	--accent-2:#7c5cff;
	--radius:14px;

	--c1:#8a2be2; --c1-l:#c9a2f5;
	--c2:#1e90ff; --c2-l:#a9d3ff;
	--c3:#1aa15a; --c3-l:#9de3bd;
	--c4:#e0430a; --c4-l:#ffb583;
	--c5:#e0197d; --c5-l:#ffb0d8;
	--c6:#c62828; --c6-l:#ff9a9a;
	--c7:#c99400; --c7-l:#ffe08a;
	--c8:#4b5563; --c8-l:#c7ccd4;
}
[data-theme="dark"]{
	--bg:#14161c;
	--card:#1d2028;
	--text:#eef0f4;
	--muted:#9aa0ac;
	--border:#2a2e38;
}

*{box-sizing:border-box}
body{
	margin:0; background:var(--bg); color:var(--text);
	font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	transition:background .2s,color .2s;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}

.msh-container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ---------- Header ---------- */
.msh-header{
	position:sticky; top:0; z-index:50;
	background:linear-gradient(120deg,var(--accent-2),var(--accent));
	color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.15);
}
.msh-header-inner{
	max-width:1200px;margin:0 auto;padding:12px 20px;
	display:flex;align-items:center;gap:24px;
}
.msh-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.2rem;color:#fff;flex:0 0 auto}
.msh-logo-badge{
	width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);
	display:flex;align-items:center;justify-content:center;font-size:1.1rem;
}
.msh-nav{flex:1}
.msh-nav-list{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.msh-nav-list a{color:#fff;font-weight:600;opacity:.9}
.msh-nav-list a:hover{opacity:1;text-decoration:underline}

.msh-header-tools{display:flex;align-items:center;gap:10px}
.msh-search{display:flex;background:#fff;border-radius:8px;overflow:hidden}
.msh-search input{border:0;padding:8px 10px;width:180px;font-size:.9rem;outline:none;color:#111}
.msh-search button{border:0;background:#fff;padding:0 10px;color:#111}
.msh-mobile-toggle{display:none;background:none;border:0;color:#fff;font-size:1.4rem}
.msh-icon-btn{background:rgba(255,255,255,.18);border:0;color:#fff;border-radius:8px;width:34px;height:34px;font-size:1rem}
.msh-header .msh-icon-btn:hover{background:rgba(255,255,255,.32)}

@media (max-width:860px){
	.msh-nav,.msh-search{display:none}
	.msh-mobile-toggle{display:block}
}

/* ---------- Breadcrumb / page title ---------- */
.msh-breadcrumb{margin:18px 0 6px;font-size:.85rem;color:var(--muted)}
.msh-breadcrumb a{color:var(--accent-2);font-weight:600}
.msh-page-title{display:flex;align-items:center;gap:10px;margin:10px 0 22px}
.msh-page-icon{font-size:1.4rem}
.msh-page-title h1{font-size:1.6rem;margin:0}

/* ---------- Grid of sound tiles ---------- */
.msh-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
	gap:26px;
	margin:20px 0 30px;
}
.msh-grid-tight{grid-template-columns:repeat(2,1fr);gap:14px}

.msh-tile{text-align:center}

.msh-play{
	position:relative; width:96px;height:96px;border-radius:50%;
	border:3px solid rgba(0,0,0,.25); margin:0 auto; display:block;
	background:radial-gradient(circle at 35% 30%, var(--tile-l,#ccc), var(--tile,#888));
	transition:transform .15s;
}
.msh-play:hover{transform:scale(1.08)}
.msh-play:active{transform:scale(.92)}
.msh-play-icon,.msh-pause-icon{
	position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
	width:0;height:0;
}
.msh-play-icon{border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fff}
.msh-pause-icon{display:none;width:20px;height:22px;border-left:7px solid #fff;border-right:7px solid #fff}
.msh-play.is-playing .msh-play-icon{display:none}
.msh-play.is-playing .msh-pause-icon{display:block}

.msh-play.c1{--tile:var(--c1);--tile-l:var(--c1-l)}
.msh-play.c2{--tile:var(--c2);--tile-l:var(--c2-l)}
.msh-play.c3{--tile:var(--c3);--tile-l:var(--c3-l)}
.msh-play.c4{--tile:var(--c4);--tile-l:var(--c4-l)}
.msh-play.c5{--tile:var(--c5);--tile-l:var(--c5-l)}
.msh-play.c6{--tile:var(--c6);--tile-l:var(--c6-l)}
.msh-play.c7{--tile:var(--c7);--tile-l:var(--c7-l)}
.msh-play.c8{--tile:var(--c8);--tile-l:var(--c8-l)}

.msh-play-lg{width:180px;height:180px;border-width:5px}
.msh-play-lg .msh-play-icon{border-width:26px 0 26px 40px}
.msh-play-lg .msh-pause-icon{width:34px;height:36px;border-left-width:12px;border-right-width:12px}

.msh-tile-title{
	display:block;margin-top:10px;font-size:.85rem;font-weight:600;
	text-decoration:underline;color:var(--text);
	overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	min-height:2.4em;
}
.msh-tile-actions{display:flex;justify-content:center;gap:10px;margin-top:6px}
.msh-tile-actions .msh-icon-btn{
	background:transparent;color:var(--muted);width:auto;height:auto;padding:2px 4px;font-size:1rem;
}
.msh-tile-actions .msh-icon-btn:hover{color:var(--accent)}
.msh-tile-actions .msh-fav.is-active{color:var(--accent)}

/* ---------- Buttons ---------- */
.msh-btn{
	border:0;border-radius:10px;color:#fff;padding:12px 18px;font-weight:700;
	display:inline-flex;align-items:center;gap:8px;
}
.msh-btn-green{background:#1aa15a}
.msh-btn-red{background:#e0324b}
.msh-btn-blue{background:#1e90ff}
.msh-btn-yellow{background:#e0a300;color:#1c1f26}
.msh-btn:hover{filter:brightness(1.08)}

/* ---------- Single sound detail ---------- */
.msh-detail-layout{display:flex;gap:28px;align-items:flex-start;margin-bottom:40px}
.msh-detail-main{flex:1;min-width:0}
.msh-detail-sidebar{width:280px;flex-shrink:0}

.msh-detail-card{
	background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
	padding:24px;margin-bottom:24px;
}
.msh-detail-top{text-align:center}
.msh-detail-title{font-size:1.5rem;margin:0 0 18px}
.msh-detail-stats{display:flex;justify-content:center;gap:20px;margin:18px 0;color:var(--muted);font-size:.9rem}
.msh-detail-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}

.msh-section-title{font-size:1.2rem;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--border)}
.msh-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.msh-see-all{color:#fff;background:var(--accent);padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:600}
.msh-entry-content{line-height:1.7;color:var(--text)}
.msh-entry-content img{border-radius:8px;margin:10px 0}

.msh-widget{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:20px}
.msh-widget-title{font-size:1rem;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--border)}

@media (max-width:900px){
	.msh-detail-layout{flex-direction:column}
	.msh-detail-sidebar{width:100%}
}

/* ---------- Share modal ---------- */
.msh-modal-overlay{
	position:fixed;inset:0;background:rgba(0,0,0,.5);
	display:flex;align-items:center;justify-content:center;z-index:200;
}
.msh-modal-overlay[hidden]{display:none}
.msh-modal{background:var(--card);border-radius:12px;padding:24px;width:320px;position:relative;text-align:center}
.msh-modal-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:1.4rem;color:var(--muted)}
.msh-modal-target-title{color:var(--muted);font-size:.9rem;margin:8px 0 18px}
.msh-share-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.msh-share-net{border:0;border-radius:8px;padding:10px 14px;color:#fff;background:var(--accent-2);font-weight:600}
.msh-share-net[data-network="twitter"]{background:#000}
.msh-share-net[data-network="facebook"]{background:#1877f2}
.msh-share-net[data-network="whatsapp"]{background:#25d366}
.msh-share-net[data-network="copy"]{background:#6b7280}

/* ---------- Toast ---------- */
.msh-toast{
	position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
	background:#1c1f26;color:#fff;padding:10px 18px;border-radius:8px;font-size:.9rem;z-index:300;
}
.msh-toast[hidden]{display:none}

/* ---------- Pagination ---------- */
.msh-pagination ul{list-style:none;display:flex;gap:6px;padding:0;justify-content:center;margin:30px 0}
.msh-pagination a,.msh-pagination span{
	display:inline-block;padding:8px 12px;border-radius:6px;border:1px solid var(--border);
	background:var(--card);color:var(--text);
}
.msh-pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ---------- Scroll to top ---------- */
.msh-scroll-top{
	position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:50%;
	background:var(--accent);color:#fff;border:0;font-size:1.2rem;box-shadow:0 4px 10px rgba(0,0,0,.25);
}
.msh-scroll-top[hidden]{display:none}

/* ---------- Footer ---------- */
.msh-footer{background:#12141a;color:#dcdfe6;margin-top:40px}
.msh-footer-inner{max-width:1200px;margin:0 auto;padding:40px 20px;display:flex;flex-wrap:wrap;gap:40px}
.msh-footer-col{flex:1;min-width:180px}
.msh-footer-col h4{color:#fff;margin:0 0 12px}
.msh-footer-col ul{list-style:none;padding:0;margin:0}
.msh-footer-col li{margin-bottom:8px}
.msh-footer-col a{color:#b7bcc8}
.msh-footer-col a:hover{color:#fff}
.msh-footer-bottom{border-top:1px solid #23262f;text-align:center;padding:14px;font-size:.85rem;color:#8a8f9c}

.msh-empty{padding:60px 0;text-align:center;color:var(--muted)}
