/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

*{box-sizing: border-box}

body {
  font-family: 'Frutiger', sans-serif;
  color: #202020;
}

a, a:visited {
  color: steelblue;
}
a:hover {
  color: darkslategray;
  background: rgba(235, 250, 255, 0.7);
}

a.block-a {
  display: block;
  text-decoration: none;
  color: initial;
}

nav.header a {
  text-decoration: none;  
}

input, textarea {
  width: 100%;
  padding: 1rem;
}
textarea {
  min-height: 360px;
}
#hide-content:checked ~ textarea {
  display: none;
}




.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1rem;
}
.cards > * {
  border: 1px solid #ccc;
  padding: 1rem;
  border-radius: 3px;
  background: rgba(235, 250, 255, 0.2);

  box-shadow: 0px 5px 5px -5px rgba(0,0,0,.3);

  height: 200px;
  overflow: hidden;

  &:hover {
    background: rgba(235, 250, 255, 0.7);
  }
}

.card-header {
  font-size: 0.8em;
}
.card-header a {
  text-decoration: none;

  &:hover {
    background: lightblue;
  }
}

.card-title {
  color: steelblue;
}


.grouped-links {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;

  /* border: 1px solid #ccc; */
  /* border-radius: 5px; */


  & > a {
    text-decoration: none;
    padding: .3em .6em;
    border: 1px solid #ccc;
    background: rgba(235, 250, 255, 0.2);
    margin-left: -1px;

    &:hover {
      background: rgba(235, 250, 255, 0.7);
    }
  }

  & > a:first-child {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    margin-left: 0;
  }
  & > a:last-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}



trix-toolbar {
  position: sticky;
  top: 0;
  z-index: 10;
  background: white;
}


.search-form input {
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 0.5em;
  font-size: 1em;
  outline: none;
}


.profile-pic {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 50%;

  &.small {
    width: 50px;
    height: 50px;
  }
}


/** Table **/
table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
  background: #fff;
}

table th,
table td {
  border: 1px solid #ddd;
  padding: 0.5em 0.75em;
  text-align: left;
}

table th {
  background: #f7f7f7;
  font-weight: 600;
}

table tr:nth-child(even) {
  background: #fafafa;
}

table tr:hover {
  background: #f0f7ff;
}
/** End Table **/


footer {
  margin-top: 1em;
  padding-top: 1em;
}

.forum-page {
  max-width: 1120px;
  margin: 1.5rem auto 3rem;
  padding: 0 1rem;
}

.forum-page__header {
  margin-bottom: 1.25rem;
}

.forum-page__header h1 {
  margin: 0;
}

.forum-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #6b7788;
}

.forum-thread-list,
.forum-post-list {
  display: grid;
  gap: 1rem;
}

.forum-thread-card {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid #d9e1eb;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 10px 30px rgba(28, 38, 59, 0.06);
  text-decoration: none;
  color: #1f2a37;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.forum-thread-card:hover {
  background: #fff;
  border-color: #b8c6d8;
  transform: translateY(-1px);
  box-shadow: 0 14px 34px rgba(28, 38, 59, 0.1);
}

.forum-thread-card h2,
.forum-post-card h3 {
  margin: 0;
}

.forum-thread-card__main {
  display: grid;
  gap: 0.35rem;
  align-content: start;
}

.forum-thread-card__actions {
  grid-column: 1 / -1;
}

.forum-meta-list {
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.forum-meta-list div {
  display: grid;
  gap: 0.15rem;
}

.forum-meta-list dt {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b7788;
}

.forum-meta-list dd {
  margin: 0;
  font-weight: 600;
  color: #243042;
}

.forum-meta-list--thread {
  align-content: start;
}

.forum-post-card {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #d9e1eb;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 30px rgba(28, 38, 59, 0.06);
}

.forum-post-card__meta {
  padding-right: 1rem;
  border-right: 1px solid #e4eaf1;
}

.forum-post-card__body {
  min-width: 0;
  display: grid;
  gap: 1rem;
}

.forum-post-card__body-head {
  display: grid;
  gap: 0.25rem;
}

.forum-post-card__content {
  line-height: 1.7;
  color: #243042;
}

.forum-post-card__content p {
  margin-top: 0;
}

.forum-post-actions,
.forum-page__footer {
  margin: 0.65rem 0 0;
}

.forum-page__footer {
  display: flex;
  gap: 0.75rem 1rem;
  flex-wrap: wrap;
}

.forum-thread-summary {
  margin-bottom: 1.5rem;
}

footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
}

footer hr {
  flex: 0 0 100%;
}
