/* Contact/footer only. Existing website and administration retain their styles. */
main footer.cvContactFooter {
  display: block;
  width: 100%;
  margin: 0;
  padding: 42px 0 0;
  border: 0;
  background: linear-gradient(rgba(12, 7, 4, .22), rgba(12, 7, 4, .38)),
    url("palmen-kontakt-20261004.png") center center / cover no-repeat #140e0a;
  color: #f1e7d8;
  text-align: left;
  font-family: Arial, Helvetica, sans-serif;
  scroll-margin-top: 24px;
}
main .cvContactFooter .cvContactInner { border-top: 1px solid #b68c4c; }
main .cvContactFooter .cvContactTop {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  padding: 38px 0 34px;
  align-items: start;
}
main .cvContactFooter .cvContactBrand img {
  display: block;
  width: 200px;
  height: 100px;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}
main .cvContactFooter .cvContactClaim {
  max-width: 430px;
  margin: 17px 0 0;
  color: #e5d6c3;
  font-size: 18px;
  line-height: 1.65;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
main .cvContactFooter .cvContactDetails { text-align: right; min-width: 0; }
main .cvContactFooter h2 {
  margin: 8px 0 15px;
  color: #e7bd78;
  font: 700 15px/1.4 Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .18em;
  overflow-wrap: anywhere;
}
main .cvContactFooter address { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; font-style: normal; }
main .cvContactFooter a { color: #f1e7d8; text-decoration: none; overflow-wrap: anywhere; }
main .cvContactFooter address a { font-size: 18px; line-height: 1.55; padding: 4px 0; max-width: 100%; }
main .cvContactFooter a:hover { color: #edc789; text-decoration: underline; text-underline-offset: 5px; }
main .cvContactFooter a:focus-visible { outline: 2px solid #edc789; outline-offset: 5px; border-radius: 2px; }
main .cvContactFooter .cvContactAddress { color: #c8b8a4; font-size: 15px; line-height: 1.65; margin-top: 9px; overflow-wrap: anywhere; }
main .cvContactFooter .cvContactHours { margin: 13px 0 0; font-size: 14px; line-height: 1.6; color: #e5d6c3; }
main .cvContactFooter .cvContactHours span { color: #e7bd78; margin-right: 8px; }
main .cvContactFooter .cvContactBottom {
  border-top: 1px solid rgba(223, 183, 118, .23);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 24px;
  align-items: center;
  padding: 24px 0;
  color: #c8b8a4;
  font-size: 12px;
  line-height: 1.6;
}
main .cvContactFooter .cvContactBottom small { font-size: inherit; }
main .cvContactFooter .cvContactBottom nav { display: flex; gap: 25px; flex-wrap: wrap; }
main .cvContactFooter .cvContactBottom nav a { text-transform: uppercase; font-size: 13px; padding: 8px 0; }
main .cvContactFooter .cvContactSignature { text-align: right; }
@media (max-width: 850px) {
  main .cvContactFooter .cvContactTop { gap: 32px; }
  main .cvContactFooter .cvContactBottom { grid-template-columns: 1fr auto; gap: 10px 24px; }
  main .cvContactFooter .cvContactSignature { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 600px) {
  main footer.cvContactFooter { padding-top: 28px; }
  main .cvContactFooter .cvContactTop { grid-template-columns: 1fr; gap: 30px; padding: 28px 0; }
  main .cvContactFooter .cvContactDetails { text-align: left; }
  main .cvContactFooter address { align-items: flex-start; }
  main .cvContactFooter address a { min-height: 44px; display: inline-flex; align-items: center; }
  main .cvContactFooter .cvContactBottom { grid-template-columns: 1fr; gap: 12px; padding: 20px 0; }
  main .cvContactFooter .cvContactBottom nav { gap: 24px; }
  main .cvContactFooter .cvContactBottom nav a { padding: 12px 0; }
}
