/* ── Linkgids Public Styles ──────────────────────────────────────────── */
.linkgids-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }

/* Header */
.lg-pub-header { text-align: center; padding: 2.5rem 1rem 1.5rem; }
.lg-pub-title  { font-size: clamp(1.6rem,4vw,2.4rem); font-weight: 800; letter-spacing: -0.5px; background: linear-gradient(135deg, #ff6b35, #7c5cfc); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; margin: 0 0 .4rem; }
.lg-pub-sub    { color: #888; font-size: .95rem; margin: 0 0 1.2rem; }

/* Search */
.lg-pub-search-wrap { display:inline-flex; align-items:center; position:relative; max-width:380px; width:100%; }
.lg-search-icon     { position:absolute; left:.8rem; color:#aaa; flex-shrink:0; }
.lg-pub-search      { width:100%; padding:.6rem .9rem .6rem 2.4rem; border:1px solid #ddd; border-radius:24px; font-size:.9rem; outline:none; transition:border-color .2s; }
.lg-pub-search:focus { border-color:#7c5cfc; box-shadow:0 0 0 3px rgba(124,92,252,.1); }

/* Filter pills */
.lg-pub-filters { display:flex; flex-wrap:wrap; gap:.4rem; padding:.8rem 0 1.2rem; justify-content:center; }
.lg-pub-filter  { padding:.3rem .8rem; border-radius:20px; border:1.5px solid #e0e0e0; background:#fff; font-size:.8rem; font-weight:600; cursor:pointer; transition:all .15s; color:#555; }
.lg-pub-filter:hover { border-color:var(--cat-color, #7c5cfc); color:var(--cat-color, #7c5cfc); }
.lg-pub-filter.active { background:var(--cat-color, #7c5cfc); border-color:var(--cat-color, #7c5cfc); color:#fff; }

/* Grid */
.lg-pub-grid      { display:grid; gap:1.2rem; align-items:start; }
.lg-cols-2        { grid-template-columns: repeat(2, 1fr); }
.lg-cols-3        { grid-template-columns: repeat(3, 1fr); }
.lg-cols-4        { grid-template-columns: repeat(4, 1fr); }
@media(max-width:900px) { .lg-cols-4,.lg-cols-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px) { .lg-pub-grid { grid-template-columns:1fr; } }

/* Card */
.lg-pub-card      { background:#fff; border:1px solid #ebebeb; border-radius:10px; overflow:hidden; transition:box-shadow .2s; }
.lg-pub-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.lg-pub-card.lg-hidden { display:none; }

.lg-pub-card-head { display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; border-bottom:2px solid var(--cat-color, #7c5cfc); background:color-mix(in srgb, var(--cat-color,#7c5cfc) 8%, white); }
.lg-pub-icon      { font-size:1.1rem; }
.lg-pub-cat-name  { font-weight:700; font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; color:#333; flex:1; }
.lg-pub-count     { font-size:.72rem; color:#999; background:#f0f0f0; padding:.15rem .45rem; border-radius:10px; }

/* Links */
.lg-pub-links  { padding:.3rem 0; }
.lg-pub-link   { display:flex; align-items:center; gap:.55rem; padding:.38rem .95rem; text-decoration:none; color:#333; font-size:.86rem; transition:background .12s; }
.lg-pub-link:hover { background:#f8f8ff; color:#333; text-decoration:none; }
.lg-pub-link.lg-hidden { display:none; }
.lg-pub-dot    { width:5px; height:5px; border-radius:50%; flex-shrink:0; opacity:.5; transition:opacity .15s; }
.lg-pub-link:hover .lg-pub-dot { opacity:1; }
