/* ==========================================================
   Cete Bauservice - Zusatzdesign Datenschutz
   Ablage: data/datenschutz/datenschutz.css
   ========================================================== */

.privacy-hero{
position:relative;
overflow:hidden;
padding:5rem 3rem;
border-radius:24px;
text-align:center;
background:linear-gradient(135deg,var(--dark),var(--dark2));
color:#fff;
box-shadow:0 18px 45px rgba(31,41,55,.16);
}

.privacy-hero::before,
.privacy-hero::after{
content:"";
position:absolute;
border-radius:50%;
pointer-events:none;
}

.privacy-hero::before{
width:340px;
height:340px;
right:-110px;
top:-150px;
background:rgba(255,255,255,.04);
}

.privacy-hero::after{
width:330px;
height:330px;
left:-110px;
bottom:-180px;
background:rgba(183,28,28,.18);
}

.privacy-hero > *{
position:relative;
z-index:1;
}

.privacy-hero .section-label{
color:var(--accent);
}

.privacy-hero h1{
max-width:900px;
margin:0 auto 1.2rem;
font-size:clamp(2.3rem,4.5vw,3.6rem);
}

.privacy-hero p{
max-width:850px;
margin:0 auto 1.8rem;
color:rgba(255,255,255,.84);
font-size:1.06rem;
}

.privacy-meta{
display:flex;
justify-content:center;
gap:1.4rem;
flex-wrap:wrap;
color:rgba(255,255,255,.8);
font-size:.94rem;
}

.privacy-meta span{
display:inline-flex;
align-items:center;
gap:.55rem;
}

.privacy-meta i{
color:var(--accent);
}

.privacy-layout{
display:grid;
grid-template-columns:285px minmax(0,1fr);
gap:2rem;
align-items:start;
margin:5rem 0;
}

.privacy-sidebar{
position:sticky;
top:1.5rem;
display:flex;
flex-direction:column;
gap:1.2rem;
}

.privacy-company,
.privacy-nav{
padding:1.5rem;
border:1px solid var(--border);
border-radius:18px;
background:#fff;
box-shadow:0 10px 28px rgba(31,41,55,.07);
}

.privacy-sidebar-icon{
width:52px;
height:52px;
display:flex;
align-items:center;
justify-content:center;
margin-bottom:1rem;
border-radius:50%;
background:var(--primary);
color:#fff;
font-size:20px;
}

.privacy-company h2{
margin-bottom:.7rem;
font-size:1.2rem;
color:var(--dark);
}

.privacy-company p{
margin-bottom:.85rem;
color:var(--muted);
font-size:.9rem;
line-height:1.6;
}

.privacy-company p:last-child{
margin-bottom:0;
}

.privacy-company a{
color:var(--primary);
font-weight:700;
overflow-wrap:anywhere;
}

.privacy-nav{
display:flex;
flex-direction:column;
gap:.15rem;
max-height:58vh;
overflow:auto;
}

.privacy-nav strong{
padding:.25rem .65rem .75rem;
color:var(--dark);
}

.privacy-nav a{
padding:.55rem .65rem;
border-radius:8px;
color:var(--muted);
font-size:.88rem;
line-height:1.35;
}

.privacy-nav a:hover{
background:#f5f6f8;
color:var(--primary);
}

.privacy-content{
min-width:0;
}

.privacy-notice{
display:flex;
gap:1.2rem;
align-items:flex-start;
margin-bottom:1.5rem;
padding:1.5rem;
border:1px solid rgba(212,175,55,.42);
border-radius:16px;
background:rgba(212,175,55,.08);
}

.privacy-notice > i{
flex:0 0 auto;
margin-top:.15rem;
color:#9a7815;
font-size:1.45rem;
}

.privacy-notice strong{
display:block;
margin-bottom:.35rem;
color:var(--dark);
}

.privacy-notice p{
margin:0;
color:var(--muted);
font-size:.92rem;
}

.privacy-section{
scroll-margin-top:1.5rem;
display:grid;
grid-template-columns:64px 1fr;
gap:1.3rem;
margin-bottom:1.25rem;
padding:2.2rem;
border:1px solid var(--border);
border-radius:18px;
background:#fff;
box-shadow:0 9px 26px rgba(31,41,55,.055);
}

.privacy-number{
width:54px;
height:54px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--primary);
color:#fff;
font-weight:800;
font-size:.9rem;
box-shadow:0 8px 18px rgba(183,28,28,.17);
}

.privacy-section h2{
margin:.2rem 0 1.2rem;
font-size:1.55rem;
color:var(--dark);
}

.privacy-section p{
color:#4b5563;
font-size:.97rem;
line-height:1.75;
}

.privacy-section p:last-child{
margin-bottom:0;
}

.privacy-section a{
color:var(--primary);
font-weight:700;
}

.privacy-placeholder{
display:flex;
flex-direction:column;
gap:.3rem;
margin-top:1.25rem;
padding:1.1rem 1.2rem;
border-left:4px solid var(--primary);
border-radius:0 12px 12px 0;
background:#f7f8fa;
}

.privacy-placeholder strong{
color:var(--dark);
}

.privacy-placeholder span{
color:var(--muted);
font-size:.92rem;
line-height:1.55;
}

.privacy-recommendation{
display:flex;
gap:1rem;
align-items:flex-start;
margin-top:1.3rem;
padding:1.2rem;
border:1px solid rgba(183,28,28,.16);
border-radius:14px;
background:rgba(183,28,28,.045);
}

.privacy-recommendation > i{
margin-top:.2rem;
color:var(--primary);
font-size:1.25rem;
}

.privacy-recommendation strong{
display:block;
margin-bottom:.3rem;
color:var(--dark);
}

.privacy-recommendation p{
margin:0;
font-size:.92rem;
}

.privacy-rights{
display:grid;
gap:.8rem;
margin:1.2rem 0 1.5rem;
padding:0;
list-style:none;
}

.privacy-rights li{
display:flex;
gap:.7rem;
align-items:flex-start;
color:#4b5563;
}

.privacy-rights i{
margin-top:.25rem;
color:var(--primary);
}

.privacy-end{
display:grid;
grid-template-columns:90px 1fr;
gap:1.5rem;
align-items:center;
margin-top:2rem;
padding:2.5rem;
border-radius:20px;
background:linear-gradient(135deg,var(--section-dark),var(--section-dark-2));
color:#fff;
box-shadow:0 18px 40px rgba(31,41,55,.16);
}

.privacy-end > i{
width:76px;
height:76px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--primary);
font-size:28px;
}

.privacy-end h2{
margin-bottom:.55rem;
color:#fff;
font-size:1.7rem;
}

.privacy-end p{
margin-bottom:1.25rem;
color:rgba(255,255,255,.78);
}

@media(max-width:992px){

.privacy-hero{
padding:4rem 1.5rem;
border-radius:18px;
}

.privacy-layout{
grid-template-columns:1fr;
margin:3rem 0;
}

.privacy-sidebar{
position:static;
display:grid;
grid-template-columns:1fr 1fr;
}

.privacy-nav{
max-height:340px;
}

}

@media(max-width:640px){
.privacy-hero{
    padding:3rem 1.2rem 3.4rem;
}

.privacy-hero h1{
    font-size:1.9rem;
    line-height:1.25;
    margin-bottom:1rem;
    padding-bottom:6px;
}

.privacy-hero p{
    font-size:.95rem;
    line-height:1.6;
}

.privacy-meta{
    margin-top:1.3rem;
    gap:.8rem;
}
.privacy-sidebar{
grid-template-columns:1fr;
}
.privacy-nav{
display:none;
}
.privacy-section{
grid-template-columns:1fr;
padding:1.6rem 1.25rem;
border-radius:15px;
}
.privacy-number{
width:46px;
height:46px;
}
.privacy-section h2{
font-size:1.3rem;
}
.privacy-notice{
padding:1.25rem;
}
.privacy-end{
grid-template-columns:1fr;
padding:2rem 1.3rem;
text-align:center;
}
.privacy-end > i{
margin:auto;
}

}
