/* ==========================================================
   Cete Bauservice - Zusatzdesign Impressum
   Ablage: data/impressum/impressum.css
   ========================================================== */

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

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

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

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

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

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

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

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

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

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

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

.imprint-overview{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:2rem;
margin:5rem 0;
}

.imprint-card{
display:grid;
grid-template-columns:80px 1fr;
gap:1.5rem;
align-items:start;
padding:3rem;
border:1px solid var(--border);
border-radius:22px;
background:#fff;
box-shadow:0 16px 40px rgba(31,41,55,.08);
}

.imprint-card-primary{
background:linear-gradient(135deg,#fff,#f7f8fa);
}

.imprint-icon{
width:68px;
height:68px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--primary);
color:#fff;
font-size:25px;
box-shadow:0 10px 24px rgba(183,28,28,.19);
}

.imprint-card h2{
font-size:1.75rem;
color:var(--dark);
}

.imprint-card address{
color:var(--muted);
font-style:normal;
line-height:1.8;
}

.imprint-card address strong{
color:var(--dark);
}

.imprint-card p{
color:var(--muted);
}

.imprint-card p:last-child{
margin-bottom:0;
}

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

.imprint-details{
margin:5rem 0;
padding:5rem 3rem;
border-radius:24px;
box-shadow:0 18px 45px rgba(31,41,55,.07);
}

.section-heading{
max-width:850px;
margin:0 auto 3rem;
text-align:center;
}

.section-heading h2{
font-size:2.2rem;
color:var(--dark);
}

.section-heading p{
margin:0;
color:var(--muted);
}

.imprint-details-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:1.5rem;
}

.imprint-details-grid article{
display:flex;
gap:1.2rem;
align-items:flex-start;
padding:1.8rem;
border:1px solid var(--border);
border-radius:18px;
background:#fff;
box-shadow:0 8px 24px rgba(31,41,55,.05);
}

.detail-icon{
flex:0 0 54px;
width:54px;
height:54px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:var(--primary);
color:#fff;
font-size:20px;
}

.imprint-details-grid h3{
margin:.1rem 0 .55rem;
font-size:1.12rem;
color:var(--dark);
}

.imprint-details-grid p{
margin-bottom:.5rem;
color:#4b5563;
}

.imprint-details-grid p:last-child{
margin-bottom:0;
}

.detail-note{
color:var(--muted) !important;
font-size:.92rem;
line-height:1.6;
}

.imprint-legal{
display:flex;
flex-direction:column;
gap:1.25rem;
margin:5rem 0;
}

.legal-info-card{
display:grid;
grid-template-columns:64px 1fr;
gap:1.3rem;
padding:2.2rem;
border:1px solid var(--border);
border-radius:18px;
background:#fff;
box-shadow:0 9px 26px rgba(31,41,55,.055);
}

.legal-info-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-info-card h2{
margin:.2rem 0 1rem;
font-size:1.5rem;
color:var(--dark);
}

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

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

.imprint-contact{
margin:5rem 0 0;
padding:5rem 3rem;
border-radius:24px;
text-align:center;
box-shadow:0 18px 45px rgba(31,41,55,.18);
}

.imprint-contact .section-label{
color:var(--accent);
}

.imprint-contact h2{
max-width:850px;
margin:0 auto 1.2rem;
font-size:2.35rem;
color:#fff;
}

.imprint-contact p{
max-width:760px;
margin:0 auto 2rem;
color:rgba(255,255,255,.82);
}

.imprint-contact-actions{
display:flex;
justify-content:center;
gap:1rem;
flex-wrap:wrap;
}

.imprint-contact .button{
gap:.65rem;
}

.imprint-secondary-button{
display:inline-flex;
align-items:center;
justify-content:center;
padding:12px 24px;
border:2px solid rgba(255,255,255,.7);
border-radius:10px;
color:#fff;
font-weight:700;
transition:.3s ease;
}

.imprint-secondary-button:hover{
background:#fff;
color:var(--dark);
transform:translateY(-2px);
}

@media(max-width:992px){

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

.imprint-overview{
grid-template-columns:1fr;
margin:3rem 0;
}

.imprint-details{
padding:3.5rem 1.5rem;
margin:3rem 0;
border-radius:18px;
}

.imprint-legal{
margin:3rem 0;
}

.imprint-contact{
padding:4rem 1.5rem;
border-radius:18px;
}

}

@media(max-width:640px){

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

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

.imprint-card{
grid-template-columns:1fr;
padding:2.2rem 1.3rem;
border-radius:18px;
}

.imprint-icon{
width:58px;
height:58px;
font-size:22px;
}

.imprint-details{
padding:3rem 1.2rem;
}

.section-heading h2,
.imprint-contact h2{
font-size:1.7rem;
}

.imprint-details-grid{
grid-template-columns:1fr;
}

.imprint-details-grid article{
padding:1.5rem 1.2rem;
}

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

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

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

.imprint-contact{
margin-top:3rem;
padding:3.5rem 1.2rem;
}

.imprint-contact-actions{
flex-direction:column;
}

.imprint-contact-actions a{
width:100%;
}

}
