*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
background:#f6f8fb;
color:#1e2a36;
}

/* HEADER */

.header{
height:70px;
background:#ffffff;
display:flex;
align-items:center;
padding:0 50px;
box-shadow:0 1px 6px rgba(0,0,0,0.08);
position:relative;
}

.logo{
height:50px;
width:auto;
position:absolute;
top:50%;
transform:translateY(-50%);
}

/* HERO */

.hero{
height:540px;
background:
linear-gradient(rgba(14,40,68,0.65),rgba(14,40,68,0.65)),
url("images/hero.webp");
background-size:cover;
background-position:center;
display:flex;
align-items:center;
}

.hero-inner{
width:620px;
margin-left:120px;
}

.hero h1{
font-size:44px;
line-height:1.25;
color:white;
margin-bottom:30px;
}

/* BUTTONS */

.buttons{
display:flex;
gap:18px;
flex-wrap:wrap;
}

.btn-main,
.btn-alt{
display:inline-block;
padding:14px 26px;
border-radius:6px;
font-weight:600;
text-decoration:none;
font-size:16px;
line-height:1;
cursor:pointer;
}

.btn-main{
background:#8a6208;
color:#ffffff;
}

.btn-alt{
background:#e7eaef;
color:#1f2d3d;
}

/* SECTION */

.section{
padding:60px 40px;
text-align:center;
}

.section h2{
font-size:32px;
margin-bottom:40px;
}

/* CARDS */

.cards{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:25px;
}



/* CONTAINER */

.container{
max-width:900px;
margin:60px auto;
background:white;
padding:40px;
border-radius:10px;
box-shadow:0 2px 12px rgba(0,0,0,0.08);
}

/* FORM */

label{
font-weight:600;
display:block;
margin-top:20px;
}

input, textarea{
width:100%;
padding:12px;
margin-top:6px;
border:1px solid #d9dde2;
border-radius:6px;
font-size:15px;
box-sizing:border-box;
}

textarea{
height:120px;
}

/* BUTTON */

button{
margin-top:30px;
background:#d39b18;
color:white;
padding:14px 26px;
border:none;
border-radius:6px;
font-size:16px;
font-weight:600;
cursor:pointer;
}

button:hover{
opacity:0.9;
}

/* FOOTER */

.footer{
background:#0f2b46;
color:white;
padding:40px 40px;
margin-top:60px;
}

.footer-container{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
max-width:1200px;
margin:auto;
gap:30px;
}

.footer-col{
min-width:160px;
}

.footer-col a{
display:block;
color:#d8e1ea;
text-decoration:none;
margin-bottom:6px;
}

.footer-bottom{
text-align:center;
margin-top:30px;
font-size:14px;
opacity:0.8;
}

/* MOBILE */

@media (max-width:768px){

.header{
height:70px;
padding:0 20px;
display:flex;
align-items:center;
position:relative;
}

.logo{
height:50px;
width:auto;
position:absolute;
top:50%;
left:20px;
transform:translateY(-50%);
}

.hero{
height:auto;
padding:60px 20px;
}

.hero-inner{
margin-left:0;
width:100%;
}

.hero h1{
font-size:28px;
line-height:1.35;
}

.hero .buttons{
flex-direction:column;
gap:12px;
align-items:center;
}

.hero .btn-main,
.hero .btn-alt{
width:auto;
max-width:260px;
text-align:center;
}

.section{
padding:40px 20px;
}

.cards{
flex-direction:column;
align-items:center;
}

.card{
width:100%;
max-width:320px;
}

.container{
margin:30px 20px;
padding:30px;
}

.footer-container{
flex-direction:column;
gap:20px;
}

.footer{
padding:30px 20px;
}

}
.card{
background:white;
padding:28px;
border-radius:10px;
width:220px;
box-shadow:0 2px 10px rgba(0,0,0,0.08);
font-weight:600;
text-decoration:none;
color:#1e2a36;
display:block;
}
.card:hover{
transform:translateY(-3px);
box-shadow:0 6px 18px rgba(0,0,0,0.12);
}
.launch-note{
margin-top:8px;
font-size:0.85rem;
color:#666;
}
.hero-sub{
color:#ffffff;
font-size:20px;
font-weight:500;
margin:18px 0 32px 0;
opacity:1;
}
/* Nur für Seiten OHNE Hero (also Landingpages) */
body:not(:has(.hero)) main {
  max-width: 900px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: Arial, sans-serif;
  line-height: 1.6;
}

body:not(:has(.hero)) h1 {
  font-size: 32px;
  margin-bottom: 15px;
}

body:not(:has(.hero)) h2 {
  margin-top: 40px;
}

body:not(:has(.hero)) p {
  margin-bottom: 15px;
}

body:not(:has(.hero)) ul {
  margin: 15px 0;
  padding-left: 20px;
}

/* Buttons schöner */
body:not(:has(.hero)) a[href*="rfq"] {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 12px 20px;
  margin: 15px 0;
  text-decoration: none;
  border-radius: 6px;
}
body:not(:has(.hero)) main {
  max-width: 900px;
  margin: 60px auto;
  padding: 40px 20px;
}
body:not(:has(.hero)) section {
  margin-bottom: 40px;
}
body:not(:has(.hero)) a[href*="rfq"]:hover {
  background: #333;
}
.live-stats{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:24px;
padding:60px 20px;
max-width:1200px;
margin:auto;
}

.stat-card{
background:#111;
border:1px solid #222;
border-radius:18px;
padding:40px 20px;
text-align:center;
transition:0.3s;
}

.stat-card:hover{
transform:translateY(-4px);
border-color:#555;
}

.stat-card h3{
font-size:42px;
margin-bottom:10px;
color:#fff;
font-weight:700;
}

.stat-card p{
font-size:16px;
color:#bbb;
line-height:1.5;
}
/* SUPPLIER REGISTER */

/* SUPPLIER REGISTER */

.register-wrapper{
display:flex;
justify-content:center;
padding:80px 20px;
background:#f5f7fa;
min-height:100vh;
}

.register-card{
width:100%;
max-width:950px;
background:#ffffff;
padding:50px;
border-radius:24px;
border:1px solid #e5e7eb;
box-shadow:0 10px 30px rgba(0,0,0,0.06);
}

.register-card h1{
font-size:42px;
margin-bottom:15px;
text-align:center;
color:#111827;
}

.register-sub{
text-align:center;
font-size:18px;
color:#6b7280;
margin-bottom:40px;
line-height:1.6;
}

.supplier-form{
display:flex;
flex-direction:column;
gap:25px;
}

.form-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

.supplier-form input,
.supplier-form textarea,
.supplier-form select{
width:100%;
padding:18px;
border-radius:14px;
border:1px solid #d1d5db;
background:#ffffff;
color:#111827;
font-size:16px;
transition:0.3s;
}

.supplier-form input:focus,
.supplier-form textarea:focus,
.supplier-form select:focus{
outline:none;
border-color:#2563eb;
box-shadow:0 0 0 4px rgba(37,99,235,0.1);
}

.supplier-form textarea{
min-height:180px;
resize:vertical;
}

.upload-box{
background:#f9fafb;
padding:20px;
border-radius:16px;
border:1px dashed #cbd5e1;
}

.upload-box label{
display:block;
margin-bottom:12px;
color:#374151;
font-weight:600;
}

.supplier-form button{
padding:20px;
border:none;
border-radius:16px;
background:#2563eb;
color:#ffffff;
font-size:18px;
font-weight:700;
cursor:pointer;
transition:0.3s;
}

.supplier-form button:hover{
background:#1d4ed8;
transform:translateY(-2px);
}

@media(max-width:768px){

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

.register-card{
padding:30px 20px;
}

.register-card h1{
font-size:32px;
}

}
.section-title{
font-size:22px;
margin:10px 0 15px;
color:#111827;
}

.process-group{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:15px;
margin-bottom:10px;
}

.process-group label{
display:flex;
align-items:flex-start;
gap:10px;
padding:16px;
background:#f9fafb;
border:1px solid #d1d5db;
border-radius:14px;
cursor:pointer;
font-size:15px;
transition:0.2s;
}
.process-group input[type="checkbox"]{
margin-top:3px;
transform:scale(1.1);
}

.process-group label:hover{
border-color:#2563eb;
background:#eff6ff;
}
/* SUPPLIERS PAGE */

.supplier-page{
max-width:1300px;
margin:0 auto;
padding:60px 20px;
}

.supplier-top{
text-align:center;
margin-bottom:50px;
}

.supplier-top h1{
font-size:48px;
margin-bottom:15px;
color:#111827;
}

.supplier-top p{
font-size:18px;
color:#6b7280;
}

.supplier-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:25px;
}

.supplier-card{
background:#ffffff;
border:1px solid #e5e7eb;
border-radius:22px;
padding:30px;
text-decoration:none;
color:#111827;
transition:0.3s;
box-shadow:0 4px 20px rgba(0,0,0,0.04);
}

.supplier-card:hover{
transform:translateY(-4px);
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.supplier-card-logo{
max-width:140px;
max-height:70px;
object-fit:contain;
margin-bottom:25px;
}

.supplier-card h3{
font-size:24px;
margin-bottom:10px;
}

.supplier-country{
color:#6b7280;
margin-bottom:20px;
}

.badges{
display:flex;
flex-wrap:wrap;
gap:10px;
}

.badge{
padding:8px 14px;
background:#eff6ff;
border-radius:999px;
font-size:13px;
font-weight:600;
color:#2563eb;
}
.header-inner{
max-width:1300px;
margin:0 auto;
padding:20px;
display:flex;
justify-content:space-between;
align-items:center;
}

.nav{
display:flex;
gap:25px;
}

.nav a{
text-decoration:none;
color:#111827;
font-weight:600;
transition:0.2s;
}

.nav a:hover{
color:#2563eb;
}
/* HEADER */

.header{
background:#ffffff;
border-bottom:1px solid #e5e7eb;
}

.header-inner{
max-width:1300px;
margin:0 auto;
padding:18px 20px;
display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
}

.logo{
height:50px;
width:auto;
display:block;
}

.nav{
display:flex;
align-items:center;
gap:24px;
flex-wrap:wrap;
}

.nav a{
text-decoration:none;
color:#111827;
font-size:15px;
font-weight:600;
transition:0.2s;
}

.nav a:hover{
color:#2563eb;
}

@media(max-width:768px){

.header-inner{
flex-direction:column;
align-items:flex-start;
}

.nav{
width:100%;
gap:18px;
}

}
/* TOPBAR */

.topbar{
width:100%;
background:#ffffff;
border-bottom:1px solid #e5e7eb;
}

.topbar-container{
max-width:1300px;
margin:0 auto;
padding:18px 20px;
display:flex;
justify-content:space-between;
align-items:center;
}

.logo{
height:48px;
width:auto;
display:block;
}

.topbar-links{
display:flex;
gap:24px;
align-items:center;
}

.topbar-links a{
text-decoration:none;
color:#111827;
font-weight:600;
font-size:15px;
white-space:nowrap;
}

.topbar-links a:hover{
color:#2563eb;
}

@media(max-width:900px){

.topbar-container{
flex-direction:column;
align-items:flex-start;
gap:18px;
}

.topbar-links{
flex-wrap:wrap;
gap:16px;
}

}
/* =========================================================
   STARTSEITE – EINKÄUFER / HERSTELLER
   ========================================================= */

.audience-section {
    padding-top: 80px;
    padding-bottom: 90px;
}

.audience-intro {
    max-width: 820px;
    margin: 0 auto 42px;
    text-align: center;
}

.section-label {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #526b86;
}

.audience-intro h2 {
    margin: 0 0 16px;
    font-size: clamp(32px, 4vw, 46px);
    line-height: 1.15;
}

.audience-intro p {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}

.audience-card {
    display: flex;
    gap: 24px;
    min-height: 300px;
    padding: 38px;
    background: #ffffff;
    border: 1px solid rgba(20, 43, 70, 0.08);
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(20, 43, 70, 0.08);
    text-align: left;
}

.audience-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    border-radius: 14px;
    background: #eef4fa;
    font-size: 17px;
    font-weight: 700;
    color: #1c4f7d;
}

.audience-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.audience-type {
    margin-bottom: 9px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #526b86;
}

.audience-card h3 {
    margin: 0 0 14px;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 700;
}

.audience-card p {
    margin: 0 0 26px;
    font-size: 16px;
    line-height: 1.7;
    font-weight: 400;
}

.audience-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 13px 20px;
    border-radius: 9px;
    background: #173f67;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.3;
}

.audience-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(20, 43, 70, 0.16);
}

@media (max-width: 800px) {

    .audience-section {
        padding-top: 55px;
        padding-bottom: 60px;
    }

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

    .audience-card {
        min-height: 0;
        padding: 28px;
    }
}

@media (max-width: 520px) {

    .audience-intro {
        text-align: left;
    }

    .audience-card {
    display: flex;
    gap: 24px;
    min-height: 0;
    padding: 38px;

    .audience-icon {
        margin-bottom: 20px;
    }

    .audience-card h3 {
        font-size: 22px;
    }

    .audience-button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    padding: 13px 20px;
    border-radius: 9px;
    background: #173f67;
    color: #ffffff;
    text-decoration: none;
    font-weight: 700;
    line-height: 1.3;
}
}