/* L::eS legal pages: document layout, AGB, privacy and withdrawal form. */
/* Legal pages — same Adaptive Contrast design language */
.legal-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 95% 30%,rgba(184,155,77,.12),transparent 45%),#101216}
.legal-hero-inner{padding-top:clamp(172px,17vw,245px);padding-bottom:clamp(75px,9vw,130px)}
.legal-back{display:inline-flex;gap:12px;align-items:center;color:#9fa5ab;font-size:12px;margin-bottom:65px;transition:color .2s}
.legal-back:hover{color:#dec78e}
.legal-back span{color:#b89b4d}
.legal-hero .eyebrow{margin-bottom:22px}
.legal-hero h1{font-size:clamp(64px,10vw,150px);letter-spacing:-.065em;line-height:1.05;margin:0 0 23px}
.legal-dot{color:#b89b4d}
.legal-lead{max-width:610px;color:#adb4bd;line-height:1.85;font-size:clamp(14px,1.6vw,17px);margin:0}
.legal-content{padding:clamp(75px,9vw,130px) 0}
.legal-layout{display:grid;grid-template-columns:minmax(160px,.38fr) minmax(0,1fr);gap:clamp(50px,9vw,160px)}
.legal-aside{align-self:start;position:sticky;top:115px}
.legal-aside>p,.legal-number{font-size:11px;font-weight:700;letter-spacing:.14em;color:#977d41}
.legal-aside nav{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.legal-aside nav a{font-size:13px;color:#62696e;transition:color .2s}
.legal-aside nav a:hover{color:#977d41}
.legal-block{scroll-margin-top:125px;padding-bottom:clamp(54px,7vw,90px);margin-bottom:clamp(54px,7vw,90px);border-bottom:1px solid #d9d8d1}
.legal-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.legal-block h2{font-size:clamp(32px,4vw,52px);margin:19px 0 29px}
.legal-block h3{font-size:16px;letter-spacing:-.02em;margin:32px 0 11px}
.legal-block p,.legal-block address,.legal-data{font-size:15px;line-height:1.9;color:#50575d}
.legal-block address{font-style:normal}
.legal-data{margin:0}
.legal-data>div{display:grid;grid-template-columns:minmax(150px,.68fr) minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid #e5e4dd}
.legal-data>div:last-child{border-bottom:0}
.legal-data dt{color:#777e83;font-size:13px}
.legal-data dd{margin:0;overflow-wrap:anywhere;color:#24282d}
.legal-data a{border-bottom:0;text-decoration:none}
.legal-data a:hover{color:#8f7337;text-decoration:none}
@media(max-width:700px){.legal-hero-inner{padding-top:155px;padding-bottom:85px}.legal-back{margin-bottom:51px}.legal-layout{grid-template-columns:1fr;gap:55px}.legal-aside{position:static}.legal-aside nav{flex-direction:row;flex-wrap:wrap;gap:11px 21px;margin-top:16px}.legal-data>div{grid-template-columns:1fr;gap:4px}.legal-hero h1{font-size:clamp(56px,13vw,86px)}}

/* Legal desktop proportion refinement: less oversized headline and dead space */
@media(min-width:701px){.legal-hero-inner{padding-top:clamp(145px,12vw,185px);padding-bottom:clamp(65px,6vw,90px)}.legal-back{margin-bottom:clamp(38px,4vw,54px)}.legal-hero h1{font-size:clamp(62px,7vw,105px);margin-bottom:20px}.legal-hero .eyebrow{margin-bottom:18px}}

/* Datenschutz long-form readability */
.privacy-details .legal-block p{max-width:760px;margin-bottom:20px}
.privacy-details .legal-block a{color:#765b29;text-decoration:none}
.privacy-details .legal-block a:hover{color:#ad8d49;text-decoration:none}
.privacy-details .privacy-settings-link{font-size:inherit;color:#81662d;font-weight:700;cursor:pointer;text-align:left}

/* Legal typography: less compressed letterforms, more breathing room */
.legal-hero h1{letter-spacing:-.035em;line-height:1.09}
.legal-hero .eyebrow{letter-spacing:.20em}
.legal-lead{letter-spacing:.005em;line-height:1.9}
.legal-aside nav{row-gap:18px;column-gap:26px}
.legal-aside nav a{line-height:1.65;letter-spacing:.005em}
.legal-block h2{letter-spacing:-.028em;line-height:1.18}
.legal-number{letter-spacing:.18em}
@media(max-width:700px){
 .legal-hero h1{font-size:clamp(49px,11.8vw,78px);letter-spacing:-.035em;line-height:1.12}
 .legal-hero .eyebrow{margin-bottom:25px}
 .legal-lead{line-height:1.85}
 .legal-aside nav{row-gap:15px;column-gap:25px}
 .legal-block h2{letter-spacing:-.025em;line-height:1.2}
}

/* Legal headline optical spacing: prevent tight tz letter pair on mobile. */
.legal-hero h1{letter-spacing:0.005em}
@media(max-width:700px){.legal-hero h1{font-size:clamp(43px,10.7vw,70px);letter-spacing:0.012em;line-height:1.14}}

/* Contract pages — shared legal layout and editorial typesetting */
.agb-heading{font-size:clamp(64px,10vw,150px)}
.agb-edition{font-size:12px;letter-spacing:.04em;color:#dbc58c;margin:22px 0 0}
.agb-aside nav{max-height:calc(100dvh - 190px);overflow:auto;padding-right:10px}
.agb-block h2{font-size:clamp(23px,2.7vw,36px);letter-spacing:-.025em;line-height:1.32;overflow-wrap:anywhere}
.agb-block p{font-size:15px;line-height:1.9;color:#50575d;margin:0 0 20px}
.agb-withdrawal{padding:22px;background:#eae8e2;border-radius:12px}
.agb-withdrawal h3{margin-top:0}
.agb-overview>h2{max-width:750px;margin-bottom:44px}
.agb-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.agb-option{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,4vw,50px);background:#fff;border:1px solid #dcdad2;border-radius:14px;transition:transform .2s,border-color .2s,box-shadow .2s}
.agb-option:hover{transform:translateY(-3px);border-color:#b89b4d;box-shadow:0 18px 42px rgba(16,18,22,.07)}
.agb-option h3{font-size:clamp(27px,3vw,42px);margin:22px 0 15px}
.agb-option p{font-size:15px;line-height:1.8;color:#555b5f;flex:1}
.agb-version{font-size:12px;color:#806b3e;margin-top:25px}
.agb-open{font-size:13px;font-weight:700;margin-top:21px}
@media(max-width:700px){.agb-options{grid-template-columns:1fr}.agb-aside nav{max-height:none;overflow:visible}.agb-block h2{font-size:clamp(23px,6vw,32px)}}

/* Slim, arrow-free scrollbar for the AGB section navigation */
.agb-aside nav{scrollbar-width:thin;scrollbar-color:rgba(184,155,77,.52) transparent;scrollbar-gutter:stable}
.agb-aside nav::-webkit-scrollbar{width:4px;height:4px}
.agb-aside nav::-webkit-scrollbar-track{background:transparent;border:0}
.agb-aside nav::-webkit-scrollbar-thumb{background:rgba(184,155,77,.48);border:0;border-radius:99px}
.agb-aside nav::-webkit-scrollbar-thumb:hover{background:rgba(184,155,77,.7)}
.agb-aside nav::-webkit-scrollbar-button,.agb-aside nav::-webkit-scrollbar-button:single-button{display:none;width:0;height:0}

/* Consumer withdrawal form — matches the existing legal-page design */
.withdraw-form{display:grid;gap:24px;margin-top:30px;max-width:710px}
.withdraw-field{display:flex;flex-direction:column;gap:9px}
.withdraw-field label{font-size:14px;font-weight:650;letter-spacing:.01em;color:#20242a}
.withdraw-field label span{color:#937b41}
.withdraw-field input,.withdraw-field textarea{box-sizing:border-box;display:block;width:100%;min-width:0;border:1px solid #d2d2ce;border-radius:9px;background:#fff;color:#101216;font:inherit;font-size:16px;line-height:1.55;padding:14px 16px;outline:none;transition:border-color .2s,box-shadow .2s}
.withdraw-field textarea{resize:vertical;min-height:120px}
.withdraw-field input:focus-visible,.withdraw-field textarea:focus-visible{border-color:#b89b4d;box-shadow:0 0 0 3px rgba(184,155,77,.15)}
.withdraw-field small{font-size:12px;line-height:1.6;color:#676d72}
.withdraw-note{border-left:2px solid #b89b4d;padding:12px 0 12px 18px;margin:4px 0 0!important}
.withdraw-submit{width:max-content;max-width:100%;border:1px solid #b89b4d;background:#101216;color:#f5f4f0;padding:15px 26px;border-radius:9px;font:inherit;font-weight:650;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.withdraw-submit:hover,.withdraw-submit:focus-visible{background:#2b2d2f;outline:2px solid #b89b4d;outline-offset:2px}
@media(max-width:700px){.withdraw-submit{width:100%}.withdraw-form{gap:19px}}

/* Invisible spam trap, visually and keyboard hidden. */
.withdraw-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* Accessible inline form validation */
.withdraw-field .withdraw-error{font-size:13px;line-height:1.5;color:#a43135;font-weight:550;margin-top:1px}
.withdraw-field .withdraw-error[hidden]{display:none!important}
.withdraw-field input.withdraw-invalid,.withdraw-field textarea.withdraw-invalid{border-color:#a43135;box-shadow:0 0 0 2px rgba(164,49,53,.12)}
.withdraw-field input.withdraw-invalid:focus-visible,.withdraw-field textarea.withdraw-invalid:focus-visible{border-color:#a43135;box-shadow:0 0 0 3px rgba(164,49,53,.14)}


/* AGB table of contents: one full-width link per row on narrow screens. */
@media (max-width:700px){
  .agb-page .agb-aside nav{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:12px;max-height:none;overflow:visible;scrollbar-gutter:auto}
  .agb-page .agb-aside nav a{display:block;width:100%;min-width:0;overflow-wrap:break-word;line-height:1.6}
}

/* Keep the AGB table of contents sticky on desktop: hidden horizontal overflow on
   the page root otherwise establishes a scrolling ancestor and disables sticky. */
@media (min-width:701px){
  html:has(.agb-page),body:has(.agb-page){overflow-x:clip}
  .agb-page .legal-content,.agb-page .legal-layout{overflow:visible}
  .agb-page .agb-aside{position:sticky;top:115px;align-self:start}
  .agb-page .agb-aside nav{max-height:calc(100dvh - 190px);overflow-y:auto;overflow-x:hidden}
}
