/* ==========================================================
   Cete Bauservice - Zusatzdesign AGB
   Ablage: data/agb/agb.css
   ========================================================== */

.legal-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);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.legal-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;
}

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

.legal-company p{
margin-bottom:.75rem;
color:var(--muted);
font-size:.9rem;
line-height:1.55;
}

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

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

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

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

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

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

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

.legal-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);
}

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

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

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

.legal-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);
}

.legal-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);
}

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

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

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

.legal-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);
}

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

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

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

@media(max-width:992px){

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

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

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

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

}

@media(max-width:640px){

.legal-hero{
padding:3.5rem 1.2rem;
}

.legal-hero h1{
font-size:2rem;
}

.legal-sidebar{
grid-template-columns:1fr;
}

.legal-nav{
display:none;
}

.legal-section{
grid-template-columns:1fr;
padding:1.6rem 1.25rem;
border-radius:15px;
}

.legal-number{
width:46px;
height:46px;
}

.legal-section h2{
font-size:1.3rem;
}

.legal-notice{
padding:1.25rem;
}

.legal-end{
grid-template-columns:1fr;
padding:2rem 1.3rem;
text-align:center;
}

.legal-end > i{
margin:auto;
}

}
