/* ===================================================================
   styles.css — Eine responsive Version (Mobile + Desktop)
   Header/Nav + Burger, CTA, Formular-Modal, responsive Grids.
   =================================================================== */

*{box-sizing:border-box}
body{margin:0;font-family:'Manrope',system-ui,sans-serif;color:#0d1b3e;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%}

/* ================= HEADER ================= */
.uz-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid #e9ecf3;
}
.uz-bar{
  position:relative;max-width:1180px;margin:0 auto;
  padding:0 24px;height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.uz-brand{display:flex;align-items:center;gap:10px;min-width:0}
.uz-logo{width:36px;height:36px;border-radius:10px;background:#0d1b3e;display:flex;align-items:center;justify-content:center;flex:none}
.uz-name{font-family:'Sora',sans-serif;font-weight:700;font-size:19px;letter-spacing:-.03em;white-space:nowrap;color:#0d1b3e}
.uz-dot{color:#ff6a2b}

/* Desktop-Navigation */
.uz-nav{display:flex;align-items:center;gap:28px}
.uz-nav a{color:#5b6678;text-decoration:none;font-weight:600;font-size:15px;cursor:pointer}
.uz-nav a:hover{color:#0d1b3e}
.uz-nav-cta{
  background:#ff6a2b;color:#fff !important;text-decoration:none;
  font-weight:700;font-size:15px;padding:11px 20px;border-radius:10px;
  white-space:nowrap;cursor:pointer;border:0;
}
.uz-nav-cta:hover{filter:brightness(.93)}

/* Burger (nur mobil sichtbar) */
.uz-burger{
  display:none;flex:none;width:42px;height:40px;border:0;border-radius:9px;
  background:#ff6a2b;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:4px;
  box-shadow:0 6px 14px -6px #ff6a2b;
}
.uz-burger span{width:19px;height:2px;border-radius:2px;background:#fff;transition:.2s}
.uz-burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.uz-burger.open span:nth-child(2){opacity:0}
.uz-burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Dropdown-Menü (mobil) */
.uz-menu{
  position:absolute;top:calc(100% - 2px);right:24px;z-index:60;
  min-width:210px;background:#fff;border:1px solid #e9ecf3;border-radius:12px;
  box-shadow:0 20px 45px -18px rgba(13,27,62,.4);padding:6px;
}
.uz-menu[hidden]{display:none}
.uz-menu a{display:block;text-decoration:none;color:#0d1b3e;font-weight:600;font-size:15px;padding:12px 14px;border-radius:8px}
.uz-menu a:hover{background:#f6f8fb}

/* ================= CTA-Button ================= */
.uz-cta{
  display:inline-block;background:#ff6a2b;color:#fff;border:0;
  font-family:'Sora',sans-serif;font-weight:700;font-size:18px;
  padding:17px 34px;border-radius:13px;cursor:pointer;text-decoration:none;
  box-shadow:0 16px 32px -10px #ff6a2b;
}
.uz-cta:hover{filter:brightness(.94)}
.uz-cta--block{display:block;width:100%;padding:16px;border-radius:12px;font-size:16px;box-shadow:0 12px 24px -8px #ff6a2b;text-align:center}

/* ================= Sektionen / Layout ================= */
.uz-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.uz-hero{background:#0d1b3e;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:22px 22px;color:#fff}
.uz-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:64px 24px 76px}
.uz-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.uz-section{padding:84px 24px}
.uz-h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(30px,5.4vw,52px);line-height:1.07;letter-spacing:-.02em;margin:0 0 20px}
.uz-h2{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(25px,4vw,40px);letter-spacing:-.02em;line-height:1.1;margin:0 0 14px}

/* ================= Formular-Modal ================= */
.uz-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(9,18,39,.62)}
.uz-modal[hidden]{display:none}
.uz-sheet{position:relative;width:100%;max-width:560px;max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:52px 24px 24px;box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
.uz-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:10px;background:#f1f3f8;color:#3b4660;font-size:24px;line-height:1;cursor:pointer}
.uz-close:hover{background:#e7eaf2}

/* ================= Rechtstexte (Impressum/Datenschutz/Kontakt) ================= */
.uz-legal{max-width:820px;margin:0 auto;padding:54px 24px 90px}
.uz-legal h1{font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(26px,4vw,38px);letter-spacing:-.02em;margin:0 0 28px}
.uz-legal h2{font-family:'Sora',sans-serif;font-weight:700;font-size:20px;margin:34px 0 10px}
.uz-legal h3{font-family:'Sora',sans-serif;font-weight:700;font-size:16.5px;margin:22px 0 8px}
.uz-legal p,.uz-legal li{font-size:15.5px;line-height:1.65;color:#3b4660;margin:0 0 12px}
.uz-legal ul{padding-left:20px;margin:0 0 14px}
.uz-legal a{color:#ff6a2b;text-decoration:underline}
.uz-legal strong{color:#0d1b3e}

/* ================= Kontaktformular ================= */
.uz-form-field{margin-bottom:16px}
.uz-form-field label{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:#0d1b3e}
.uz-form-field input,.uz-form-field textarea{
  width:100%;padding:12px 14px;border:1px solid #dde1ea;border-radius:10px;
  font-family:'Manrope',sans-serif;font-size:15px;color:#0d1b3e;background:#fff;
}
.uz-form-field input:focus,.uz-form-field textarea:focus{outline:2px solid #ff6a2b;outline-offset:1px}
.uz-form-consent{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#5b6678;margin-bottom:20px}
.uz-form-consent input{flex:none;margin-top:3px}
.uz-form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.uz-form-msg{margin-top:14px;font-size:14.5px;font-weight:600;padding:12px 14px;border-radius:10px}
.uz-form-msg--ok{background:rgba(20,160,107,.1);color:#0f8a5b}
.uz-form-msg--err{background:rgba(220,53,69,.1);color:#c72e3f}
.uz-form-msg[hidden]{display:none}

/* ================= Cookie-Banner ================= */
#uz-cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;z-index:200;
  max-width:640px;margin:0 auto;background:#fff;border:1px solid #e9ecf3;border-radius:16px;
  box-shadow:0 20px 50px -18px rgba(13,27,62,.4);padding:20px 22px;
}
.uz-cookie-inner p{font-size:13.5px;line-height:1.55;color:#5b6678;margin:0 0 14px}
.uz-cookie-inner a{color:#ff6a2b;text-decoration:underline}
.uz-cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.uz-cookie-actions button{
  cursor:pointer;border-radius:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:14px;padding:11px 18px;border:0;
}
#uz-cookie-accept{background:#ff6a2b;color:#fff}
#uz-cookie-accept:hover{filter:brightness(.94)}
#uz-cookie-necessary{background:#f1f3f8;color:#0d1b3e}
#uz-cookie-necessary:hover{background:#e7eaf2}

/* ================= Responsive ================= */
@media (max-width:900px){
  .uz-hero-grid{grid-template-columns:1fr;gap:34px;padding:36px 20px 40px}
  .uz-grid-3{grid-template-columns:1fr;gap:16px}
  .uz-section{padding:52px 20px}
  .uz-wrap{padding:0 20px}
}
@media (max-width:820px){
  .uz-nav{display:none}          /* Desktop-Nav ausblenden */
  .uz-burger{display:flex}       /* Burger einblenden */
  .uz-name{font-size:clamp(10px,3.6vw,15px)}
}
@media (max-width:640px){
  .uz-modal{align-items:flex-end;padding:0}
  .uz-sheet{max-width:none;border-radius:20px 20px 0 0;max-height:94vh;padding:48px 18px 20px}
  .uz-legal{padding:40px 20px 70px}
}
