/* Palisa Design – Grundstile
   Schriften werden lokal vom eigenen Server geladen (keine Verbindung zu Google). */
@font-face {
  font-family: "Michroma";
  src: url("../schriften/michroma.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../schriften/montserrat.woff2") format("woff2");
  font-weight: 300 600;
  font-style: normal;
  font-display: swap;
}

html { scroll-behavior: smooth; }
body { margin: 0; background: #0b0b0b; }
a { color: #e6e6e6; text-decoration: none; }
a:hover { color: #ffffff; }
a:focus-visible, button:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #d9d9d9;
  outline-offset: 3px;
}

section { scroll-margin-top: 90px; }

.satin { background: #0b0b0b url("../bilder/satin.jpg") center / cover no-repeat; }
.satin-dim {
  background: linear-gradient(rgba(11, 11, 11, .55), rgba(11, 11, 11, .55)),
              #0b0b0b url("../bilder/satin.jpg") center / cover no-repeat;
}

input, textarea, select { font: inherit; }
input::placeholder, textarea::placeholder { color: #8a8a8a; }

/* FAQ-Akkordeon */
summary::-webkit-details-marker { display: none; }
summary span { transition: transform .2s; }
details[open] summary span { transform: rotate(45deg); }

/* Kontaktformular */
.hp-feld { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin: 0; min-height: 1.4em; font-size: .95rem; }
.form-status.ok { color: #cfe9d4; }
.form-status.fehler { color: #f2c4c4; }
button[disabled] { opacity: .6; cursor: wait; }

@media (max-width: 700px) {
  .span2 { grid-column: auto !important; }
}
