/* Cartavelle · legal pages (Impressum, Datenschutz, AGB, Vertrag widerrufen) */
.legal{max-width:760px;margin:0 auto;padding:calc(var(--header-h) + 50px) var(--gutter) 80px}
.legal h1{font:300 clamp(2.6rem,6vw,4rem)/1 var(--f-display);color:var(--wine-deep);margin:0 0 30px}
.legal h2{font:500 1.4rem/1.2 var(--f-display);color:var(--wine-deep);margin:36px 0 10px}
.legal h3{font:600 .95rem/1.3 var(--f-body);color:var(--wine-deep);margin:24px 0 6px}
.legal p,.legal li{color:var(--ink);line-height:1.7}
.legal ul{padding-left:1.2em}
.legal hr{border:0;border-top:1px solid var(--line);margin:44px 0}
.legal a{color:var(--wine)}
.legal .todo{background:#FCEFC7;color:#6b4b00;padding:1px 6px;border-radius:2px;font-size:.9em}
.legal .note{padding:12px 14px;border-radius:6px;background:var(--panel);font-size:.92rem}
.legal .note button{border:0;background:none;padding:0;font:inherit;color:var(--wine);text-decoration:underline;cursor:pointer}
.legal-page .site-header{background:rgba(255,253,250,.92);box-shadow:0 1px 0 var(--line)}
.legal-page .header-end .lang{display:flex}
.legal-foot{border-top:1px solid var(--line);padding:22px var(--gutter);display:flex;gap:8px 20px;flex-wrap:wrap;justify-content:center;font-size:.85rem}
.legal-foot a{color:var(--wine);text-decoration:none;padding:6px 0}
.legal-foot a:hover{text-decoration:underline}
.legal-foot .wd-link{font-weight:600}

/* Vertrag widerrufen */
.wd{display:grid;gap:16px;margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}
.wd label{display:grid;gap:6px;font:600 .8rem/1.3 var(--f-body);letter-spacing:.02em;color:var(--ink)}
.wd label small{font-weight:400;color:var(--ink-soft)}
.wd input,.wd textarea{font:400 1rem/1.4 var(--f-body);color:var(--ink);padding:12px 14px;border:1px solid rgba(107,56,67,.25);border-radius:8px;background:var(--paper);min-height:48px;width:100%}
.wd input:focus,.wd textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px rgba(107,56,67,.12);background:#fff}
.wd .btn{justify-self:start}
.wd-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.wd-err{margin:0;padding:10px 12px;border-radius:8px;background:#FBE9E7;color:#8A1F1F;font-size:.9rem}
.wd-ok{margin:28px 0;padding:24px;border-radius:12px;background:#F4EEE3;color:#3A2A2D}
.wd-ok h2{margin-top:0}
.wd-ok table{width:100%;border-collapse:collapse;font-size:.95rem;margin:12px 0}
.wd-ok td{padding:8px 0;border-bottom:1px solid rgba(107,56,67,.15);vertical-align:top}
.wd-ok td:first-child{color:var(--ink-soft);padding-right:14px;white-space:nowrap}
@media (max-width:860px){ .legal-page .header-end .btn-ghost-sm{display:none} }
@media print{ .site-header,.legal-foot,.wd,.no-print{display:none!important} .legal{padding-top:0} }
.legal{overflow-wrap:anywhere}
.legal [hidden]{display:none!important}
.legal-foot span{padding:6px 0}
