/* Kompakte WundPal Kontaktseite */

.kontakt-hero{
background:linear-gradient(135deg,#fff7fa,#fde7ef);
padding:40px 20px 25px;
text-align:center;
}

.kontakt-hero .container{max-width:850px;margin:auto;}

.kontakt-hero h1{
font-size:38px;
color:#4a4a4a;
margin-bottom:10px;
}

.kontakt-hero p{
font-size:16px;
line-height:1.45;
color:#666;
}

.kontakt{
padding:35px 30px;
background:#fff;
}

.kontakt-grid {
    display: grid;
    grid-template-columns: 1fr;
}

.kontakt-info{position:sticky;top:100px;}

.kontakt-portrait{

    width:170px;

    height:auto;

    display:block;

    margin:0 auto 18px;

    border-radius:0;

    border:none;

    box-shadow:none;

}

.kontakt-info h2{
text-align:center;
font-size:28px;
color:var(--rosa);
margin-bottom:6px;
}

.titel{
text-align:center;
font-size:14px;
line-height:1.4;
margin-bottom:18px;
color:#777;
}

.kontakt-box,
.visitenkarte p{

    margin-top:12px;

    text-align:left;

    font-size:13px;

    line-height:1.5;

    color:#777;

}

.kontakt-box h3,
.visitenkarte h3{
font-size:17px;
margin-bottom:6px;
color:var(--rosa);
}

.kontakt-box p,
.visitenkarte p{
font-size:14px;
line-height:1.45;
color:#555;
margin:0;
}

.visitenkarte img{
width:155px;
display:block;
margin:auto;
border-radius:10px;
box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.hinweis,.klein,.upload-info,.formular-hinweis{
font-size:12px;
line-height:1.4;
color:#777;
margin-top:6px;
}

.kontakt-formular{
background:#fff;
padding:24px;
border-radius:18px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.kontakt-formular h2{
font-size:28px;
margin-bottom:18px;
color:#4a4a4a;
}

.kontakt-formular form{display:flex;flex-direction:column;}

.kontakt-formular label{
font-size:14px;
font-weight:600;
margin:12px 0 5px;
}

.kontakt-formular input[type=text],
.kontakt-formular input[type=email],
.kontakt-formular input[type=tel],
.kontakt-formular textarea{
width:100%;
padding:10px 12px;
font-size:14px;
border:1px solid #ddd;
border-radius:10px;
transition:.3s;
}

.kontakt-formular textarea{
min-height:110px;
resize:vertical;
}

.kontakt-formular input:focus,
.kontakt-formular textarea:focus{
outline:none;
border-color:var(--rosa);
box-shadow:0 0 0 3px rgba(242,127,166,.15);
}

.radio{
display:flex;
align-items:flex-start;
gap:8px;
font-size:14px;
line-height:1.4;
margin-top:10px;
}

.checkbox{
display:flex;
align-items:center;
gap:8px;
font-size:14px;
line-height:1.4;
margin-top:10px;
}

.radio input{
margin-top:3px;
accent-color:var(--rosa);
}

.checkbox input{
margin:0;
accent-color:var(--rosa);
flex-shrink:0;
}

.kontakt-formular input[type=file]{
padding:10px;
border:2px dashed #f3bfd0;
border-radius:10px;
background:#fff9fb;
}

.formular-button{
margin-top:18px;
padding:12px;
font-size:15px;
border:none;
border-radius:30px;
background:#4a4a4a;
color:#fff;
font-weight:600;
cursor:pointer;
box-shadow:0 8px 18px rgba(242,127,166,.28);
transition:.3s;
}

.formular-button:hover{
transform:translateY(-2px);
background:#4a4a4a;
}

.honeypot{display:none;}

@media (max-width:1100px){
.kontakt-grid{grid-template-columns:1fr;}
.kontakt-info{position:static;}
.kontakt-portrait{width:145px;height:145px;}
}

@media (max-width:768px){
.kontakt{padding:25px 16px;}
.kontakt-hero{padding:30px 15px 20px;}
.kontakt-hero h1{font-size:32px;}
.kontakt-hero p{font-size:15px;}
.kontakt-formular{padding:18px;}
.visitenkarte img{width:140px;}
.formular-button{width:100%;}
}
.whatsapp-link{
    display:inline-flex;
    align-items:center;
    gap:5px;
    text-decoration:none;
    color:#444;
    font-weight:600;
    font-size:15px;
}

.wa-icon{
    width:14px !important;
    height:14px !important;
    min-width:14px;
    max-width:14px;
    object-fit:contain;
    display:inline-block;
    vertical-align:middle;
    flex:0 0 14px;
}
/* ==========================
   Einsatzgebiet Karte
========================== */

.karte-vorschau{

    width:180px;
    margin:20px auto;
    text-align:center;

}

.karte-vorschau img{

    display:block;
    width:100%;
    margin:0 auto;

    border-radius:12px;
    box-shadow:0 8px 20px rgba(0,0,0,.12);

    cursor:pointer;
    transition:transform .25s ease;

}

.karte-vorschau img:hover{

    transform:scale(1.03);

}

.karte-vorschau img{

    width:180px;
    border-radius:12px;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 8px 18px rgba(0,0,0,.12);

}

.karte-vorschau img:hover{

    transform:scale(1.04);

}

/* ==========================
   Lightbox
========================== */

.lightbox{

    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.85);
    z-index:9999;

    justify-content:center;
    align-items:center;

}

.lightbox img{

    max-width:95vw;
    max-height:65vh;

    width:auto;
    height:auto;

    object-fit:contain;

    border-radius:12px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);

}

.lightbox-close{

    position:absolute;
    top:25px;
    right:40px;

    color:white;
    font-size:48px;
    cursor:pointer;

    user-select:none;

}
.upload-hint
{
    margin-top: 6px;
    margin-bottom: 18px;

    font-size: 0.9rem;

    color: #777;

    font-style: italic;
}
/* ===== Bildvorschau ===== */

.upload-image
{
    width: 80px;
    height: 80px;

    object-fit: cover;

    border-radius: 8px;

    cursor: pointer;

    border: 1px solid #ddd;

    flex-shrink: 0;
}

.upload-row
{
    display: flex;
    align-items: center;
    gap: 15px;
}

.image-preview-overlay
{
    position: fixed;

    inset: 0;

    background: rgba(0,0,0,.85);

    display: none;

    justify-content: center;

    align-items: center;

    z-index: 9999;
}

.image-preview-overlay img
{
    max-width: 90vw;
    max-height: 90vh;

    border-radius: 12px;

    box-shadow: 0 0 30px rgba(0,0,0,.5);
}

.image-preview-overlay.show
{
    display: flex;
}
.herz{
    color: var(--rosa);
    font-size: 20px;
}
/* ==========================================
   Auswahl Erfahrungen / Feedback
========================================== */

.feedback-auswahl {
    padding: 40px 30px;
    background: #fff8fb;
}

.auswahl-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

    align-items:stretch;

}
.auswahl-karte {
    background: #ffffff;
    padding: 20px 35px;
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    text-align: center;
    min-height: 120px;
}

.auswahl-karte h2 {
    margin-bottom: 20px;
    color: #b1457c;
}

.auswahl-karte p {
    margin-bottom: 18px;
    line-height: 1.7;
}

@media (max-width: 768px) {

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

}
.hinweis-rot {
    color: #b1457c;
    font-weight: 600;
    line-height: 1.8;
}
#erfahrungen{

    margin-top:80px;

}

#erfahrungen h2{
font-size:28px;
margin-bottom:18px;
color:#4a4a4a;
}

.erfahrungen-einleitung{

    margin-bottom:40px;

    line-height:1.8;

}

.erfahrung{

    position:relative;
    background:#911e64;
    border:2px solid #f7dce6;
    border-radius:22px;
    padding:25px 30px;
    margin:0;
    box-shadow:0 5px 14px rgba(0,0,0,.08);
    flex:1;

}
.erfahrung.links::before{
    content:"";
    position:absolute;

    top:50%;
    right:-20px;
    transform:translateY(-50%);

    border-top:20px solid transparent;
    border-bottom:20px solid transparent;
    border-left:20px solid #911e64;   /* Randfarbe */
}

.erfahrung.links::after{
    content:"";
    position:absolute;

    top:50%;
    right:-17px;
    transform:translateY(-50%);

    border-top:17px solid transparent;
    border-bottom:17px solid transparent;
    border-left:17px solid #911e64;   /* Hintergrundfarbe der Blase */
}

.erfahrung.rechts{

    margin-left:auto;

    background:#eb557d;
    border:2px solid #eb557d;
    color:#fff;

}
.erfahrung.rechts h3{
    color:#fff;
}

.erfahrung.rechts strong{
    color:#fff;
}

.erfahrung.rechts p{
    color:#fff;
}

.erfahrung.rechts::before{
    content:"";
    position:absolute;

    top:50%;
    left:-20px;
    transform:translateY(-50%);

    border-top:20px solid transparent;
    border-bottom:20px solid transparent;
    border-right:20px solid #eb557d;
}

.erfahrung.rechts::after{
    content:"";
    position:absolute;

    top:50%;
    left:-17px;
    transform:translateY(-50%);

    border-top:17px solid transparent;
    border-bottom:17px solid transparent;
    border-right:17px solid #eb557d;
}
.erfahrung::after{
    display:none;
}

.erfahrung h3{

    color:#b1457c;
    margin-bottom:15px;
    font-size:1.1rem;
    font-weight:600;

}

.erfahrung p{

    line-height:1.8;
    margin:0;
    color:#444;

}
.feedback-block.links .erfahrung h3{
    color:#fff !important;
}

.feedback-block.links .erfahrung strong{
    color:#fff !important;
}

.feedback-block.links .erfahrung p{
    color:#fff !important;
}
.feedback-kopf{
    display:flex;
    align-items:center;
    gap:18px;
    margin:15px 0 20px;
}
.feedback-block{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;

    margin:50px 0;
}
.feedback-block.rechts{
    justify-content:flex-end;
}
.feedback-avatar{
    flex:0 0 90px;
}

.feedback-avatar img{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    object-position:center 20%;
}
#feedback-formular{

    color:#4a4a4a;

}