:root { --ink:#101815; --ink-soft:#25352b; --paper:#f7f6f0; --white:#fff; --mist:#e8ebe4; --line:#d5dad1; --muted:#667169; --acid:#d6ff3f; --orange:#ff7a4d; --warn:#fff0c9; --warn-line:#e8ad42; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; } body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.65; } a { color:inherit; text-underline-offset:3px; } .site-header { position:relative; background:var(--ink); color:var(--white); overflow:hidden; } .site-header::after { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:36px 36px; content:""; pointer-events:none; } .shell { position:relative; z-index:1; width:min(1180px,calc(100% - 48px)); margin:0 auto; } .brand-row { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:24px; } .brand { display:inline-flex; align-items:center; gap:12px; color:var(--white); font-size:1rem; font-weight:900; letter-spacing:-.04em; line-height:1; text-decoration:none; } .brand img { width:38px; height:38px; object-fit:contain; filter:brightness(0) invert(1); } .brand small { display:block; margin-top:5px; color:#b7c4b7; font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; } .header-links { display:flex; align-items:center; gap:18px; flex-wrap:wrap; } .header-links a,.text-button { color:#edf4ed; font-size:.78rem; font-weight:850; text-decoration:none; } .header-links a:hover,.text-button:hover { color:var(--acid); } main { position:relative; padding:78px 0 94px; } main::before { position:absolute; top:0; right:0; left:0; height:210px; background:var(--mist); content:""; } .article { position:relative; max-width:900px; } .kicker { margin:0 0 12px; color:var(--muted); font-size:.7rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; } .kicker::before { display:inline-block; width:8px; height:8px; margin:0 8px 1px 0; border-radius:50%; background:var(--acid); content:""; } h1 { max-width:760px; margin:0 0 28px; font-size:clamp(3rem,6vw,6.5rem); font-weight:900; letter-spacing:-.085em; line-height:.88; } h2 { margin:54px 0 13px; font-size:1.46rem; letter-spacing:-.05em; line-height:1.1; } h3 { margin:30px 0 8px; font-size:1.08rem; letter-spacing:-.025em; } p,li { color:#425047; } .lead { max-width:780px; margin:0 0 30px; color:#526057; font-size:1.1rem; line-height:1.65; } .notice { margin:30px 0; padding:17px 19px; border:1px solid var(--warn-line); border-radius:14px; background:var(--warn); color:#5c4412; } .data-box { margin:22px 0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 14px 35px rgba(16,24,21,.06); } .data-box dl { display:grid; grid-template-columns:minmax(180px,240px) 1fr; gap:0; margin:0; } dt,dd { padding:14px 18px; border-bottom:1px solid var(--line); } dt { background:#f0f2ed; font-weight:850; } dd { margin:0; color:#334037; } .data-box dl > :nth-last-child(-n+2) { border-bottom:0; } .list { padding-left:22px; } .list li { margin:9px 0; } .button,.text-button { display:inline-flex; align-items:center; justify-content:center; border:0; cursor:pointer; font-family:inherit; font-weight:850; } .button { margin-top:12px; padding:11px 15px; border-radius:999px; background:var(--acid); color:var(--ink); text-decoration:none; } .text-button { padding:0; background:transparent; color:inherit; text-decoration:underline; text-underline-offset:3px; } .site-footer { background:var(--ink); color:var(--white); } .footer-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; gap:28px; padding:48px 0 32px; } .footer-title { margin:0 0 7px; color:var(--acid); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; } .footer-copy { max-width:360px; margin:0; color:#b5c0b5; font-size:.86rem; } .footer-links { display:flex; flex-wrap:wrap; align-content:flex-start; gap:9px 15px; } .footer-links a { color:#e9f0e9; font-size:.82rem; font-weight:750; text-decoration:none; } .footer-links a:hover { color:var(--acid); } .footer-bottom { padding:17px 0 26px; border-top:1px solid rgba(255,255,255,.14); color:#9ba99d; font-size:.7rem; } @media(max-width:720px){ .shell { width:min(100% - 32px,1180px); }.brand-row { min-height:86px; align-items:flex-start; flex-direction:column; justify-content:center; gap:12px; }.header-links { gap:14px; }.brand small { display:none; } main { padding:52px 0 70px; } h1 { font-size:clamp(3.1rem,15vw,5rem); } .lead { font-size:1rem; } .data-box dl { grid-template-columns:1fr; } dt { padding-bottom:4px; border-bottom:0; } dd { padding-top:2px; } .data-box dl > :nth-last-child(-n+2) { border-bottom:1px solid var(--line); }.data-box dl > :last-child { border-bottom:0; }.footer-grid { grid-template-columns:1fr 1fr; gap:26px 16px; }.footer-grid > :first-child { grid-column:1/-1; } }

/* Service- und Rechtstextseiten: Version 7 */
.legal-document main::before { height: 280px; background: linear-gradient(135deg, #e8ebe4 0%, #f7f6f0 70%); }
.legal-document .article { max-width: 1020px; }
.page-hero { max-width: 860px; padding: 6px 0 42px; border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 820px; margin-bottom: 22px; }
.page-hero .lead { max-width: 720px; margin-bottom: 0; }
.feature-grid, .payment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 42px 0 58px; }
.feature-card, .payment-card { min-height: 260px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.feature-card.accent { border-color: var(--acid); background: var(--acid); }
.feature-card > span, .payment-card > span { display: block; color: var(--orange); font-size: .68rem; font-weight: 900; letter-spacing: .11em; }
.feature-card.accent > span { color: var(--ink); }
.feature-card h2, .payment-card h2 { margin: 76px 0 9px; font-size: 1.35rem; }
.feature-card p, .payment-card p { margin: 0; font-size: .86rem; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 36px; margin: 44px 0; }
.content-grid h2, .law-note h2, .catalog-action h2 { margin-top: 0; font-size: clamp(1.8rem, 3vw, 2.75rem); }
.side-note { align-self: start; padding: 21px; border-radius: 16px; background: var(--ink); color: var(--white); }
.side-note span, .contact-panel > div > span { display: block; margin-bottom: 11px; color: var(--acid); font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.side-note strong { display: block; color: var(--white); font-size: 1rem; line-height: 1.45; }
.payment-card { min-height: 290px; }.payment-card:nth-child(2) { background: var(--mist); }.payment-card:nth-child(3) { background: var(--ink); border-color: var(--ink); }.payment-card:nth-child(3) h2,.payment-card:nth-child(3) p { color: var(--white); }.payment-card:nth-child(3) span { color: var(--acid); }
.law-note { margin: 52px 0 0; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }.law-note p { max-width: 720px; margin-bottom: 0; }
.step-list { display: grid; gap: 0; margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.step-list li { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }.step-list li > span { color: var(--orange); font-size: .78rem; font-weight: 900; }.step-list li strong { display: block; color: var(--ink); }.step-list li p { margin: 5px 0 0; }
.contact-panel { display: grid; grid-template-columns: 1.25fr .75fr; gap: 32px; margin: 42px 0; padding: 30px; border-radius: 20px; background: var(--ink); color: var(--white); }.contact-panel h2 { margin: 0 0 12px; color: var(--white); font-size: clamp(1.7rem, 3vw, 2.65rem); }.contact-panel p { color: #c5d0c5; }.contact-panel .button { background: var(--acid); color: var(--ink); }.contact-rail { padding-left: 25px; border-left: 1px solid rgba(255,255,255,.16); }.contact-rail > p { margin-top: 0; color: var(--acid); font-size: .72rem; font-weight: 850; text-transform: uppercase; }.contact-rail ul { margin: 0; padding-left: 17px; color: #e5eee6; }.contact-rail li { margin: 9px 0; color: #e5eee6; }
.catalog-action { margin: 52px 0 0; padding: 34px; border-radius: 20px; background: var(--mist); }.catalog-action p { max-width: 680px; }.catalog-action > div { display: flex; flex-wrap: wrap; gap: 10px; }.button.secondary { background: var(--white); border: 1px solid var(--ink); color: var(--ink); }
.legal-document:not(.page-shipping):not(.page-payment):not(.page-returns):not(.page-contact):not(.page-catalog) .article > h2 { position: relative; padding-top: 24px; border-top: 1px solid var(--line); }.legal-document:not(.page-shipping):not(.page-payment):not(.page-returns):not(.page-contact):not(.page-catalog) .article > h2::before { position: absolute; top: -1px; left: 0; width: 44px; height: 3px; background: var(--acid); content: ''; }
@media(max-width:760px){ .page-hero { padding-bottom: 32px; }.feature-grid,.payment-grid,.content-grid,.contact-panel { grid-template-columns: 1fr; }.feature-grid,.payment-grid { margin: 30px 0 44px; }.feature-card,.payment-card { min-height: 210px; }.feature-card h2,.payment-card h2 { margin-top: 46px; }.step-list li { grid-template-columns: 48px 1fr; gap: 10px; }.contact-rail { padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.16); border-left: 0; }.catalog-action { padding: 23px; } }

/* Elektronische Widerrufsfunktion */
.withdrawal-action{margin:28px 0;padding:24px;border:1px solid #d4d9d2;border-radius:16px;background:#f1f4ed}.withdrawal-action>p{margin-top:0}.withdrawal-form{display:grid;gap:14px;margin-top:18px}.withdrawal-form label{display:grid;gap:7px;color:#17231d;font-size:.78rem;font-weight:800}.withdrawal-form label span{color:#68756c;font-weight:500}.withdrawal-form input,.withdrawal-form textarea{width:100%;padding:11px 12px;border:1px solid #c8d0c5;border-radius:9px;background:#fff;color:#17231d;font:500 .92rem system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.withdrawal-form input:focus,.withdrawal-form textarea:focus{outline:3px solid rgba(214,255,63,.6);border-color:#17231d}.withdrawal-note{margin:0;color:#68756c;font-size:.78rem}.withdrawal-message{margin:0;padding:10px 12px;border:1px solid #c45d4c;border-radius:9px;background:#fff2ef;color:#8e2a1b;font-size:.82rem}.withdrawal-success{margin:0;padding:16px;border-radius:10px;background:#fff;color:#17231d}
