/*
 * Ergänzungen für das öffentliche Gästebuch.
 * Das Grundlayout kommt unverändert aus /assets/css/site.css.
 * Keine externen Ressourcen, kein JavaScript.
 */

.guestbook-content{
  overflow-wrap:anywhere;
}

.guestbook-heading-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1.25rem;
  margin-bottom:1.6rem;
}

.guestbook-heading-row .eyebrow{
  margin-bottom:.35rem;
}

.guestbook-heading-row h2{
  margin-bottom:0;
}

.guestbook-action,
.guestbook-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:2.75rem;
  min-width:2.75rem;
  padding:.7rem 1rem;
  border:.125rem solid var(--sky-800);
  border-radius:.65rem;
  background:var(--sky-800);
  color:#fff;
  font:inherit;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  cursor:pointer;
}

.guestbook-action:hover,
.guestbook-submit:hover{
  background:var(--sky-900);
  border-color:var(--sky-900);
}

.guestbook-back{
  display:inline-flex;
  align-items:center;
  min-height:2.75rem;
  font-weight:700;
}

.guestbook-notice{
  margin:0 0 1.5rem;
}

.guestbook-notice.success{
  background:#edf9f0;
  border-left-color:#24743b;
}

.guestbook-notice.error{
  background:#fff0ef;
  border-left-color:#a72b23;
}

.guestbook-notice ul{
  margin-bottom:0;
}

.result-count{
  margin:0 0 1rem;
  color:var(--ink-soft);
  font-size:.95rem;
}

.entries{
  display:grid;
  gap:0;
  border-top:.0625rem solid var(--line);
}

.entry{
  padding:1.45rem 0;
  border-bottom:.0625rem solid var(--line);
}

.entry-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem 1.5rem;
  margin-bottom:.65rem;
}

.entry h3{
  margin:0;
  font-size:1.45rem;
}

.entry-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.3rem .8rem;
  margin:0;
  color:var(--ink-soft);
  font-size:.9rem;
  text-align:right;
}

.rating{
  white-space:nowrap;
  color:#8a6500;
  letter-spacing:.04em;
}

.entry-message{
  max-width:72ch;
}

.entry-message br{
  line-height:1.8;
}

.pagination{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:1rem;
  margin-top:1.4rem;
  padding-top:1.2rem;
  color:var(--ink-soft);
}

.pagination a:first-child{
  justify-self:start;
}

.pagination a:last-child{
  justify-self:end;
}

.pagination span{
  text-align:center;
}

.guestbook-form{
  max-width:48rem;
}

.field{
  margin:0 0 1.35rem;
}

.field label,
.rating-field legend{
  display:block;
  margin-bottom:.35rem;
  color:var(--ink);
  font-weight:800;
}

.field input[type="text"],
.field input[type="email"],
.field textarea{
  display:block;
  width:100%;
  padding:.72rem .8rem;
  border:.125rem solid #789bb1;
  border-radius:.55rem;
  background:#fff;
  color:var(--ink);
  font:inherit;
}

.field textarea{
  min-height:11rem;
  resize:vertical;
}

.security-field input{
  max-width:9rem;
}

.rating-field{
  margin:0 0 1.35rem;
  padding:1rem;
  border:.0625rem solid var(--line);
  border-radius:.75rem;
}

.rating-options{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1rem;
}

.rating-options label{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:2.3rem;
  cursor:pointer;
}

.form-note{
  margin:0 0 1rem;
  color:var(--ink-soft);
  font-size:.92rem;
}

.honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}

@media (max-width:58rem){
  .guestbook-heading-row,
  .entry-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .entry-meta{
    justify-content:flex-start;
    text-align:left;
  }
}

@media (max-width:40rem){
  .guestbook-action,
  .guestbook-submit{
    width:100%;
  }

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

  .pagination span{
    grid-column:1 / -1;
    grid-row:1;
  }

  .pagination a:last-child{
    grid-column:2;
  }
}

@media print{
  .guestbook-action,
  .guestbook-back,
  .guestbook-submit{
    display:none!important;
  }
}
