/*
Theme Name: Tierheilpraxis Perick – Wartungsseite (weiche Bildkanten)
Theme URI: https://medien-kreativ.de/
Description: Responsive Wartungsseite für die Mobile Tierheil- und Physiotherapiepraxis Manuela Perick.
Author: Medien-Kreativ
Version: 1.3
Text Domain: tierheilpraxis-perick
*/
:root {
  --tp-green: #607b35;
  --tp-green-dark: #405821;
  --tp-ink: #292b25;
  --tp-cream: #f7f4e8;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  color: var(--tp-ink);
  font-family: Arial, Helvetica, sans-serif;
  background: var(--tp-cream);
  -webkit-font-smoothing: antialiased;
}
.tp-maintenance {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3.5vh, 38px) 22px;
  background-image: url("assets/nature-background.jpg");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.tp-content {
  width: min(780px, 100%);
  margin: auto;
  padding: clamp(22px, 3.4vw, 38px) clamp(18px, 4vw, 48px) 30px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(250, 248, 239, .91);
  border: 1px solid rgba(83, 101, 48, .13);
  border-radius: 25px;
  box-shadow: 0 14px 44px rgba(40, 47, 28, .16);
  backdrop-filter: blur(3px);
}
.tp-logo {
  display: block;
  width: 154px;
  max-width: 42vw;
  height: auto;
  margin: 0 auto 21px;
}
.tp-title {
  display: block;
  width: 100%;
  margin: 0 auto 20px;
  padding: 16px 20px;
  border-radius: 15px;
  background: var(--tp-green);
  color: #fff;
  font-size: clamp(25px, 3.5vw, 40px);
  font-weight: 700;
  line-height: 1.13;
  letter-spacing: -.025em;
  text-align: center;
}
.tp-message {
  margin: 0;
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.48;
  text-align: center;
}
.tp-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  width: min(390px, 75%);
  margin: 21px auto 15px;
  color: var(--tp-green);
}
.tp-divider::before,
.tp-divider::after {
  content: "";
  display: block;
  height: 2px;
  flex: 1;
  background: currentColor;
  opacity: .8;
}
.tp-paw { width: 28px; height: 28px; flex: 0 0 28px; }
.tp-thanks {
  margin: 0 auto 24px;
  font-size: clamp(18px, 2.15vw, 23px);
  line-height: 1.35;
  font-weight: 600;
  text-align: center;
}
.tp-contact {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 15px 16px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(64,88,33,.14);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(51,65,29,.09);
}
.tp-contact a {
  min-width: 0;
  color: var(--tp-green-dark);
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
  text-align: center;
}
.tp-contact a:hover,
.tp-contact a:focus-visible { text-decoration: underline; }
.tp-contact-separator {
  display: block;
  width: 1px;
  height: 30px;
  margin: 0 24px;
  background: rgba(64,88,33,.35);
  flex: 0 0 1px;
}
@media (min-width: 1200px) and (max-height: 760px) {
  .tp-content { padding-top: 18px; padding-bottom: 20px; }
  .tp-logo { width: 126px; margin-bottom: 14px; }
  .tp-title { font-size: 34px; padding: 13px 18px; margin-bottom: 14px; }
  .tp-message { font-size: 18px; }
  .tp-divider { margin: 14px auto 10px; }
  .tp-thanks { margin-bottom: 16px; font-size: 20px; }
  .tp-contact { padding: 12px 14px; }
}
@media (max-width: 640px) {
  .tp-maintenance {
    min-height: 100vh;
    min-height: 100svh;
    padding: 20px 13px;
    background-position: center center;
  }
  .tp-content {
    width: min(520px, 100%);
    padding: 22px 17px 19px;
    border-radius: 19px;
  }
  .tp-logo { width: 130px; margin-bottom: 16px; }
  .tp-title { font-size: clamp(23px, 6.2vw, 31px); padding: 14px 12px; margin-bottom: 15px; }
  .tp-message { font-size: 16px; }
  .tp-divider { margin: 17px auto 12px; gap: 13px; }
  .tp-thanks { font-size: 18px; margin-bottom: 17px; }
  .tp-contact {
    flex-direction: column;
    gap: 8px;
    border-radius: 15px;
    padding: 13px 12px;
  }
  .tp-contact a { font-size: 15px; }
  .tp-contact-separator { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
