/* Tema: Default — public site */
.public-header nav a { margin-right: 1rem; }
.public-main { padding: 1rem; max-width: 960px; margin: 0 auto; }
.public-footer { padding: 1rem; border-top: 1px solid #ddd; margin-top: 2rem; font-size: 0.85rem; color: #666; }

.text-muted { color: #667085; }
.public-placeholder { padding: .75rem 1rem; border: 1px dashed #cbd5e1; border-radius: 10px; background: #f8fafc; }

.public-header { padding: 1rem; border-bottom: 1px solid #e5e7eb; background: #fff; position: sticky; top: 0; }
.public-header__brand { display: flex; align-items: center; gap: .75rem; }
.public-header__logo { font-weight: 700; text-decoration: none; color: #111827; }
.public-header__badge { font-size: .8rem; padding: .15rem .5rem; border: 1px solid #e5e7eb; border-radius: 999px; color: #374151; }

.public-menu { margin-top: .75rem; }
.public-menu__list { list-style: none; padding: 0; margin: 0; display: flex; gap: .75rem; flex-wrap: wrap; }
.public-menu__link { text-decoration: none; color: #1f2937; padding: .35rem .55rem; border-radius: 8px; }
.public-menu__link:hover { background: #f3f4f6; }

.public-footer__inner { max-width: 960px; margin: 0 auto; display: grid; gap: .75rem; }
.public-footer__list { list-style: none; padding: 0; margin: 0; display: flex; gap: .75rem; flex-wrap: wrap; }
.public-footer__link { text-decoration: none; color: #374151; }

.home-banner { margin: 1rem 0; padding: 1.25rem; border-radius: 16px; background: linear-gradient(135deg, #111827, #1f2937); color: #fff; }
.home-banner__title { margin: 0 0 .25rem; font-size: 1.5rem; }
.home-banner__desc { margin: 0 0 .75rem; color: #d1d5db; }
.home-banner__cta { display: inline-block; padding: .45rem .75rem; border-radius: 10px; background: #fff; color: #111827; text-decoration: none; font-weight: 600; }

.home-features { margin: 1.25rem 0; }
.home-features__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.home-features__card { padding: .9rem; border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; }
@media (max-width: 900px) { .home-features__grid { grid-template-columns: 1fr; } }

.latest-block { margin: 1.25rem 0; }
.latest-block__header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.latest-block__title { margin: 0; }
.latest-block__more { font-size: .9rem; color: #2563eb; text-decoration: none; }
.latest-block__list { margin: .5rem 0 0; padding-left: 1.25rem; }
