.post-card,
.featured-card,
.chip,
.search-submit,
.button-primary {
  transition: all 0.2s ease;
}

.post-card:hover,
.featured-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.09);
}

.chip:hover,
.search-submit:hover,
.button-primary:hover {
  opacity: 0.92;
}

@media (max-width: 1100px) {
  .content-area {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
  }

  .featured-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 820px) {
  .menu-toggle {
    display: inline-flex;
  }

  .header-right {
    display: none;
    position: absolute;
    top: 84px;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid var(--nl-border);
    padding: 18px 16px;
    flex-direction: column;
    align-items: stretch;
  }

  .header-right.is-open {
    display: flex;
  }
  
  .post-card {
    grid-template-columns: 1fr;
  }

  .post-card-thumb {
    min-height: auto;
    border-radius: 14px 14px 0 0;
  }

  .post-card-thumb img,
  .post-card-image,
  .post-card-thumb .netlopedi-fallback-logo {
    height: 220px;
    min-height: 220px;
  }

  .post-card-content {
    padding: 18px;
  }

  .primary-menu,
  .footer-menu,
  .language-switcher ul {
    flex-direction: column;
    align-items: flex-start;
  }

  .featured-grid,
  .footer-widgets,
  .footer-bottom {
    grid-template-columns: 1fr;
    display: grid;
  }



  .single-thumb-left {
    float: none;
    width: 100%;
    margin: 0 0 18px;
  }

  .search-form {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .search-field,
  .search-submit {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .container {
    width: min(100% - 20px, 100%);
  }

  .main-content,
  .sidebar,
  .section-block,
  .archive-header,
  .single-post-layout,
  .page-layout,
  .error-404-box,
  .no-results,
  .comments-area {
    padding: 18px;
  }

  .entry-title {
    font-size: 1.7rem;
  }

  .section-title,
  .archive-title,
  .widget-title {
    font-size: 1.3rem;
  }

  .entry-content p,
  .entry-content li {
    font-size: 1rem;
  }
}