.tags-page-section { padding: 56px 0; }
.tags-page-section.alternate { background: #f3f7f8; }
.tag-page-heading { margin-bottom: 28px; text-align: center; }
.tag-page-heading p { margin: 0 0 6px; color: #23827f; font-weight: 700; }
.tag-page-heading h2 { margin: 0; font-size: 32px; }
.curated-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.curated-link-grid a { display: flex; min-height: 130px; flex-direction: column; justify-content: center; padding: 24px; color: #1d3340; border: 1px solid #dbe5e9; border-radius: 13px; background: #fff; text-decoration: none; box-shadow: 0 6px 22px rgba(30,70,80,.06); }
.curated-link-grid strong { margin-bottom: 8px; font-size: 20px; }
.curated-link-grid span { color: #667780; line-height: 1.65; }
.curated-link-grid a:hover { border-color: #23827f; transform: translateY(-2px); }
.tags-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-bottom: 30px; }
.filter-btn { padding: 9px 22px; color: #334b57; border: 1px solid #cad7dc; border-radius: 999px; background: #fff; cursor: pointer; }
.filter-btn.active { color: #fff; border-color: #23827f; background: #23827f; }
.tags-cloud-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.tag-item { display: flex; min-width: 135px; flex-direction: column; align-items: center; padding: 18px 24px; color: #283d47; border: 1px solid #e0e8eb; border-radius: 11px; background: #fff; text-decoration: none; }
.tag-item[hidden] { display: none; }
.tag-type-badge { margin-bottom: 7px; padding: 2px 9px; color: #fff; border-radius: 999px; font-size: 11px; }
.tag-type-scene { background: #3688ba; } .tag-type-style { background: #c87429; } .tag-type-region { background: #2c9267; }
.tag-name { font-size: 17px; font-weight: 700; }
.tag-count { margin-top: 5px; color: #83919a; font-size: 13px; }
.hot-tags-section { margin-top: 48px; text-align: center; }
.hot-tags-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; }
.hot-tag-item { display: flex; gap: 9px; padding: 10px 17px; color: #fff; border-radius: 999px; background: linear-gradient(135deg,#237d87,#2f9b72); text-decoration: none; }
.hot-tag-count { opacity: .8; }
@media (max-width: 850px) { .curated-link-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .curated-link-grid { grid-template-columns: 1fr; } .tag-item { min-width: 115px; padding: 15px; } }
