.btn-cta { border: 0; }
.logo-wrap img { object-fit: contain; width: auto; height: 50px; }
/* Keep desktop category links directly below the shrinking sticky header. */
@media (min-width: 1025px) {
    .nav { position: sticky; top: var(--site-header-height, 78px); }
}
.float-sidebar .phone-link { background: var(--accent); }
.float-sidebar .phone-link:hover { background: var(--accent-hover); }
.footer .phone-num { color: inherit; }
/* Remove the legacy homepage's fifth-card placement from shared service grids. */
.service-grid { justify-items: stretch; }
.service-grid > .service-card { width: 100%; min-width: 0; }
.service-grid > .service-card:nth-child(5) { grid-column: auto; max-width: none; }
/* Homepage has five services; keep its layout separate from category cards. */
.home-service-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; justify-items: stretch; }
.home-service-grid > .service-card {
    display: flex; flex-direction: column; align-items: center;
    width: 100%; min-width: 0; padding: 34px 16px 28px;
}
.home-service-grid > .service-card:nth-child(5) { grid-column: auto; max-width: none; }
.home-service-grid .desc { margin-bottom: 16px; }
.home-service-grid .price { margin-top: auto; }
.home-service-grid .btn-card { padding-inline: 20px; white-space: nowrap; }
.home-news { padding-top: 60px; padding-bottom: 60px; }
.home-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.home-news-grid article { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: #fff; }
.home-news-date { font-size: 13px; color: var(--text-light); }
.home-news-grid h3 { margin: 12px 0; font-size: 20px; line-height: 1.6; color: var(--text-dark); }
.home-news-grid h3 a:hover { color: var(--primary); }
.home-news-grid article > p:not(.home-news-date) { font-size: 15px; color: var(--text-mid); line-height: 1.8; }
.home-news-read { display: inline-flex; align-self: flex-start; margin-top: auto; padding-top: 24px; color: var(--primary); font-weight: 600; }
.home-news-more { display: table; margin: 30px auto 0; padding: 12px 26px; border: 1px solid var(--primary); border-radius: 8px; color: var(--primary); }
.home-news-empty { padding: 28px; text-align: center; background: var(--bg-gray); border-radius: 12px; color: var(--text-mid); }
@media (max-width: 1024px) {
    .home-service-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .home-service-grid > .service-card { grid-column: span 2; }
    .home-service-grid > .service-card:nth-child(5) { grid-column: 2 / span 2; }
    .home-news-grid { gap: 14px; }
    .home-news-grid article { padding: 20px; }
}
@media (max-width: 640px) {
    .home-service-grid { grid-template-columns: minmax(0, 1fr); }
    .home-service-grid > .service-card,
    .home-service-grid > .service-card:nth-child(5) { grid-column: auto; }
    .header .container { gap: 12px; }
    .header .logo-wrap { min-width: 0; }
    .header .logo-wrap img { max-width: 165px; height: auto; }
    .header-right { flex-shrink: 0; }
    .header-phone .phone-icon { display: none; }
    .header-phone .num { font-size: 17px; white-space: nowrap; }
    .header-phone .label { font-size: 11px; }
    .home-news { padding-top: 38px; padding-bottom: 38px; }
    .home-news-grid { grid-template-columns: 1fr; }
    .home-news-grid h3 { font-size: 19px; }
}
@media (max-width: 360px) {
    .header .logo-wrap img { max-width: 145px; }
    .header-phone .num { font-size: 15px; }
}
