/* ==========================================================================
   Tischler Linz - legal pages (Impressum / Datenschutz), prefix leg-
   Loads after main.css and reuses its tokens.
   ========================================================================== */

body.page-legal{background:var(--paper)}

/* ---------- hero band ---------- */
.leg-hero{
    background:var(--sand);
    border-bottom:1px solid var(--line);
    padding:54px 0 44px;
}
.leg-hero__container{max-width:1240px;margin:0 auto;padding:0 28px}
.leg-hero__breadcrumb{
    display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:20px;
    font-size:13px;color:var(--muted);
}
.leg-hero__breadcrumb a{color:var(--rust);font-weight:500}
.leg-hero__breadcrumb-sep{color:var(--line-2)}
.leg-hero__content{max-width:780px}
.leg-hero__title{
    font-family:var(--ff-h);font-size:clamp(30px,4vw,46px);font-weight:600;color:var(--ink);
    line-height:1.1;margin:0 0 12px;letter-spacing:-.015em;
}
.leg-hero__subtitle{font-size:16.5px;color:var(--muted);margin:0}

/* ---------- layout ---------- */
.leg-main{padding:64px 0 84px}
.leg-main__container{max-width:1240px;margin:0 auto;padding:0 28px}
.leg-content{max-width:880px}

.leg-section{margin-bottom:52px}
.leg-section:last-child{margin-bottom:0}
.leg-section__title{
    position:relative;font-family:var(--ff-h);font-size:clamp(22px,2.4vw,28px);font-weight:600;
    color:var(--ink);margin:0 0 22px;padding-bottom:14px;
}
.leg-section__title::after{
    content:"";position:absolute;left:0;bottom:0;width:56px;height:2px;background:var(--rust);
}

/* ---------- cards ---------- */
.leg-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--r);
    padding:24px 26px;margin-bottom:16px;
}
.leg-card:last-child{margin-bottom:0}
.leg-card__title{
    font-family:var(--ff-h);font-size:18.5px;font-weight:600;color:var(--ink);margin:0 0 12px;
}
.leg-card__body p{font-size:15.5px;color:var(--body);margin:0 0 12px;line-height:1.68}
.leg-card__body p:last-child{margin-bottom:0}
.leg-card__body strong{color:var(--ink);font-weight:600}
.leg-card__body em{color:var(--muted)}

/* ---------- contact rows ---------- */
.leg-contact{display:grid;gap:0;border-top:1px solid var(--line)}
.leg-contact__item{
    display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:baseline;
    padding:11px 0;border-bottom:1px solid var(--line);
}
.leg-contact__label{
    font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
}
.leg-contact__value{font-size:15px;color:var(--ink);min-width:0;word-break:break-word}
a.leg-contact__value{color:var(--rust);font-weight:600}
a.leg-contact__value:hover{color:var(--rust-d)}

/* ---------- lists ---------- */
.leg-list{display:grid;gap:9px;margin:6px 0 0}
.leg-list li{
    position:relative;padding-left:20px;font-size:15px;color:var(--body);line-height:1.6;
}
.leg-list li::before{
    content:"";position:absolute;left:0;top:9px;width:7px;height:7px;
    background:var(--brass);transform:rotate(45deg);
}
.leg-list--check li::before{
    content:"";left:0;top:6px;width:11px;height:6px;background:transparent;transform:rotate(-45deg);
    border-left:2px solid var(--rust);border-bottom:2px solid var(--rust);
}
.leg-list--numbered{counter-reset:legnum}
.leg-list--numbered li{padding-left:30px;counter-increment:legnum}
.leg-list--numbered li::before{
    content:counter(legnum);position:absolute;left:0;top:2px;
    width:21px;height:21px;background:var(--ink);color:#fff;transform:none;border-radius:2px;
    display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;
}

/* ---------- highlight boxes ---------- */
.leg-highlight{
    background:var(--sand);border:1px solid var(--line);border-left:3px solid var(--rust);
    border-radius:var(--r);padding:22px 24px;
}
.leg-highlight__title{
    font-family:var(--ff-h);font-size:18px;font-weight:600;color:var(--ink);margin:0 0 10px;
}
.leg-highlight p{font-size:15.5px;color:var(--body);margin:0 0 10px;line-height:1.68}
.leg-highlight p:last-child{margin-bottom:0}
.leg-highlight strong{color:var(--ink);font-weight:600}
.leg-highlight--info{border-left-color:var(--brass);background:#FAF5EB}

/* ---------- toc ---------- */
.leg-toc{
    display:grid;grid-template-columns:repeat(2,1fr);gap:8px 26px;
    background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 26px;
}
.leg-toc li{min-width:0}
.leg-toc a{
    display:block;padding:5px 0;font-size:14.8px;color:var(--body);
    border-bottom:1px solid transparent;
}
.leg-toc a:hover{color:var(--rust);border-bottom-color:var(--line)}

/* ---------- misc ---------- */
.leg-note{font-size:13.8px;color:var(--muted);font-style:italic}
.leg-link{color:var(--rust);font-weight:500;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.leg-link:hover{color:var(--rust-d)}
.leg-footer-note{
    margin-top:20px;padding:18px 22px;background:var(--ink);border-radius:var(--r);
}
.leg-footer-note p{font-size:14px;color:rgba(255,255,255,.7);margin:0 0 5px}
.leg-footer-note p:last-child{margin-bottom:0}
.leg-footer-note strong{color:#fff;font-weight:600}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1200px){
    .leg-hero__container,.leg-main__container{padding-left:22px;padding-right:22px}
}
@media (max-width:1024px){
    .leg-hero{padding:46px 0 38px}
    .leg-main{padding:52px 0 68px}
}
@media (max-width:768px){
    .leg-hero{padding:40px 0 32px}
    .leg-hero__container,.leg-main__container{padding-left:18px;padding-right:18px}
    .leg-main{padding:42px 0 56px}
    .leg-section{margin-bottom:40px}
    .leg-card{padding:20px 18px}
    .leg-highlight{padding:18px 18px}
    .leg-toc{grid-template-columns:1fr;padding:18px 18px}
}
@media (max-width:480px){
    .leg-hero__container,.leg-main__container{padding-left:15px;padding-right:15px}
    .leg-hero{padding:34px 0 28px}
    .leg-contact__item{grid-template-columns:1fr;gap:3px;padding:10px 0}
    .leg-card__body p,.leg-list li,.leg-highlight p{font-size:15px}
    .leg-footer-note{padding:16px 16px}
}
@media (max-width:375px){
    .leg-hero__container,.leg-main__container{padding-left:13px;padding-right:13px}
}
