/* puredigitalsoul / V33 / Legal editorial shell. Shares the live site's brandbook palette.
   Only loaded by imprint.php and privacy.php: no effect on Hero, Journal or CMS. */
:root,:root[data-theme="light"] {
  color-scheme: light;
  --bg:#F7F6F2;--surface:#FFFEFA;--ink:#232321;--muted:#777771;
  --accent:#BF7658;--line:#DFDDD6;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#171817;--surface:#20211F;--ink:#EEEDE7;--muted:#AAA9A2;
  --accent:#D79B7E;--line:#41413B;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:'DM Sans','Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
::selection{background:var(--accent);color:var(--bg)}
:is(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.legal-shell{width:min(1304px,calc(100% - 2 * clamp(20px,4.4vw,76px)));margin-inline:auto}
.skip-to-content{position:fixed;z-index:100;top:-100px;left:18px;padding:12px 18px;background:var(--surface);border:1px solid var(--line)}
.skip-to-content:focus{top:12px}
/* Same reduced, borderless wordmark/navigation used on the live Alpen-Hero.
   On legal pages the header sits on a plain Brandbook-coloured surface. */
.legal-site-header{padding:clamp(17px,2.2vw,35px) 0;background:var(--bg)}
.legal-header-inner{display:flex;align-items:center;gap:clamp(16px,2vw,32px);min-height:58px}
.legal-logo{display:inline-block;flex:none;white-space:nowrap;font:800 clamp(22px,1.75vw,30px)/1 'DM Sans','Manrope',sans-serif;letter-spacing:-.07em;color:var(--ink)}
.legal-logo span{color:var(--ink)}
.legal-logo b{color:var(--accent)}
.legal-primary-nav{display:flex;align-items:center;margin-left:auto;gap:clamp(16px,1.6vw,32px)}
.legal-primary-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font:700 12px/1.3 'Manrope','DM Sans',sans-serif;white-space:nowrap;position:relative}
.legal-primary-nav a::after{content:"";position:absolute;bottom:5px;left:0;width:0;height:1px;background:currentColor;transition:width .2s}
.legal-primary-nav a:hover,.legal-primary-nav a:focus-visible{color:var(--accent)}
.legal-primary-nav a:hover::after,.legal-primary-nav a:focus-visible::after{width:100%}
.legal-actions{display:flex;align-items:center;gap:clamp(8px,.9vw,18px)}
.language-toggle{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font:700 12px/1 'Manrope','DM Sans',sans-serif;white-space:nowrap}
.language-toggle button{min-width:28px;min-height:44px;padding:6px 4px;border:0;background:none;color:var(--ink)}
.language-toggle button[aria-pressed="true"],.language-toggle button:hover{color:var(--accent)}
.legal-theme{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);font:400 23px/1 'DM Sans',sans-serif;border:0;background:transparent;border-radius:50%}
.legal-theme:hover{color:var(--accent)}
/* Large editorial title without the old standalone legal-page panel / framed header. */
.legal{padding-top:clamp(82px,8vw,148px);padding-bottom:clamp(100px,10vw,174px)}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--accent);font:800 clamp(10px,.66vw,12px)/1.5 'Manrope','DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase}
.eyebrow::before{content:"";width:25px;height:1px;flex:none;background:var(--accent)}
.legal h1{margin:clamp(19px,2.4vw,34px) 0 clamp(75px,7.2vw,118px);font-size:clamp(56px,6.2vw,100px);line-height:1.06;letter-spacing:-.073em;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.legal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 30px;margin:-53px 0 clamp(75px,7.2vw,118px);font-size:13px;line-height:1.7;color:var(--muted)}
.legal-meta a{color:var(--ink);border-bottom:1px solid var(--accent)}
.legal-meta a:hover{color:var(--accent)}
.legal .block{display:grid;grid-template-columns:minmax(200px,29.5%) minmax(0,1fr);column-gap:clamp(28px,5vw,95px);row-gap:14px;align-items:start;padding:clamp(35px,4.1vw,62px) 0;border-top:1px solid var(--line);min-width:0}
.legal .block h2{grid-column:1;grid-row:1/span 8;margin:0;max-width:340px;color:var(--ink);font:700 clamp(18px,1.4vw,23px)/1.38 'DM Sans','Manrope',sans-serif;letter-spacing:-.034em;overflow-wrap:break-word}
.legal .block p,.legal .block address,.legal .block li{grid-column:2;margin:0;min-width:0;color:var(--muted);font:400 clamp(15px,1.1vw,18px)/1.85 'Manrope','DM Sans',sans-serif;overflow-wrap:anywhere}
.legal .block p+p{margin-top:0}
.legal .block address{color:var(--ink);font-style:normal}
.legal .block address strong{font-weight:700}
.legal .block p a,.legal .block address a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
.legal .block p a:hover,.legal .block address a:hover{color:var(--accent)}
.legal .block .legal-link{grid-column:2;justify-self:start;align-self:start;display:inline-flex;align-items:center;min-height:42px;border-bottom:1px solid var(--accent);color:var(--ink);font:800 12px/1.4 'Manrope','DM Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase}
.legal .block .legal-link:hover{color:var(--accent)}
.legal .block ul{grid-column:2;margin:0;padding:0 0 0 20px}
/* On mobile: continuous flow; only header wraps, no horizontal overflow. */
@media(max-width:850px){
  .legal-header-inner{flex-wrap:wrap;gap:5px 15px}
  .legal-primary-nav{order:3;margin-left:0;width:100%;gap:clamp(18px,3vw,27px)}
  .legal-actions{margin-left:auto}
  .legal{padding-top:clamp(60px,8vw,80px)}
  .legal .block{grid-template-columns:minmax(150px,31%) minmax(0,1fr);gap:24px}
}
@media(max-width:620px){
  .legal-site-header{padding:14px 0}
  .legal-header-inner{gap:5px 8px}
  .legal-logo{font-size:clamp(19px,5vw,25px)}
  .legal-actions{gap:2px}
  .language-toggle button{min-width:25px}
  .legal-theme{width:35px;height:40px;font-size:21px}
  .legal-primary-nav{gap:clamp(16px,5.8vw,29px)}
  .legal-primary-nav a{font-size:12px;min-height:39px}
  .legal{padding-top:64px;padding-bottom:90px}
  .legal h1{font-size:clamp(46px,11vw,68px);margin:18px 0 65px;letter-spacing:-.065em}
  .legal-meta{margin:-37px 0 65px}
  .legal .block{display:block;padding:32px 0}
  .legal .block h2{max-width:none;font-size:20px;margin:0 0 21px}
  .legal .block p,.legal .block address,.legal .block li{font-size:15px;line-height:1.75}
  .legal .block p+p{margin-top:16px}
  .legal .block .legal-link{margin-top:16px}
}
@media(max-width:365px){
  .legal-logo{font-size:18px}
  .legal-primary-nav a{font-size:11px}
  .legal-primary-nav{gap:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.legal-primary-nav a::after{transition:none}}
