.services-directory-page { padding: 36px 0 68px; } .services-directory-head { margin-bottom: 40px; } .services-directory-title { margin: 0; font-size: clamp(2rem, 1.6vw + 1.5rem, 3rem); line-height: 1.15; color: var(--color-primary); } .services-directory-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; align-items: start; } .services-directory-sidebar { position: sticky; top: calc(var(--header-height) + 18px); } .services-directory-nav-box { border: 1px solid var(--border-default); border-radius: var(--radius-md); background: color-mix(in srgb, var(--bg-surface) 92%, transparent); padding: 14px; } .services-directory-nav-title { margin: 0; font-size: 1rem; color: var(--text-primary); } .services-directory-nav-list { margin-top: 10px; display: flex; flex-direction: column; gap: 5px; } .services-directory-nav-list a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: 8px; color: var(--text-secondary); text-decoration: none; border: 1px solid transparent; } .services-directory-nav-list a:hover { color: var(--color-primary); border-color: var(--border-default); background: color-mix(in srgb, var(--bg-card) 88%, transparent); } .services-directory-nav-name { font-size: 0.94rem; } .services-directory-nav-count { min-width: 26px; padding: 1px 7px; border-radius: 999px; text-align: center; font-size: 0.74rem; font-weight: 700; color: var(--text-secondary); background: color-mix(in srgb, var(--bg-card) 72%, var(--bg-surface) 28%); border: 1px solid var(--border-default); } .services-directory-content { min-width: 0; } .services-directory-group { scroll-margin-top: calc(var(--header-height) + 18px); } .services-directory-group + .services-directory-group { margin-top: 28px; } .services-directory-group-head { margin-bottom: 12px; } .services-directory-group-head h2 { margin: 0; font-size: 1.52rem; color: var(--text-primary); } .services-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; } .services-directory-card { display: block; border: 1px solid var(--border-default); border-radius: 12px; background: color-mix(in srgb, var(--bg-card) 94%, transparent); padding: 12px; min-height: 0; color: inherit; text-decoration: none; transition: transform var(--duration-fast) var(--ease-in-out), border-color var(--duration-fast) var(--ease-in-out), box-shadow var(--duration-fast) var(--ease-in-out); } .services-directory-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--color-primary) 52%, var(--border-default) 48%); box-shadow: var(--shadow-sm); } .services-directory-card-head { display: flex; align-items: center; gap: 12px; } .services-directory-icon-wrap { width: 54px; height: 54px; border-radius: 12px; border: none; background: transparent; overflow: hidden; display: block; flex-shrink: 0; } .services-directory-icon { width: 100%; height: 100%; object-fit: cover; display: block; } .services-directory-icon-fallback { opacity: 1; } .services-directory-meta { min-width: 0; } .services-directory-name { margin: 0; font-size: 1.16rem; line-height: 1.28; color: var(--text-primary); font-weight: 760; } .services-directory-category { margin-top: 4px; display: inline-block; font-size: 0.8rem; color: var(--text-secondary); } .services-directory-desc { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--border-default) 84%, transparent); color: var(--text-secondary); font-size: 0.94rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .services-directory-empty { margin-top: 16px; border: 1px solid var(--border-default); border-radius: 12px; padding: 28px; text-align: center; background: color-mix(in srgb, var(--bg-card) 95%, transparent); } .services-directory-empty h2 { margin: 0; font-size: 1.6rem; color: var(--text-primary); } .services-directory-empty p { margin: 10px 0 0; color: var(--text-secondary); } .services-directory-empty-btn { margin-top: 16px; display: inline-flex; align-items: center; justify-content: center; min-width: 148px; height: 38px; padding: 0 16px; border-radius: 10px; border: 1px solid color-mix(in srgb, var(--color-primary) 65%, var(--border-default) 35%); color: var(--color-primary); text-decoration: none; font-weight: 700; } .services-directory-empty-btn:hover { background: color-mix(in srgb, var(--color-primary) 10%, transparent); } @media (max-width: 1280px) { .services-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 980px) { .services-directory-head { margin-bottom: 30px; } .services-directory-layout { grid-template-columns: 1fr; gap: 16px; } .services-directory-sidebar { position: static; } .services-directory-nav-list { flex-direction: row; flex-wrap: wrap; gap: 8px; } .services-directory-nav-list li { flex: 0 0 auto; } .services-directory-nav-list a { padding: 7px 11px; } } @media (max-width: 680px) { .services-directory-page { padding: 26px 0 52px; } .services-directory-head { margin-bottom: 24px; } .services-directory-grid { grid-template-columns: 1fr; gap: 12px; } .services-directory-card { min-height: 0; } }