.text-page { padding-block:48px 96px; }
.text-page__back { max-width:920px; margin:0 auto 32px; font-size:14px; color:var(--muted); }
.text-page article { max-width:920px; margin-inline:auto; }
.text-page h1 { font-size:clamp(32px,4vw,56px); line-height:1.1; margin-bottom:40px; overflow-wrap:anywhere; }
.text-content { font-size:17px; line-height:1.75; color:var(--muted); overflow-wrap:anywhere; }
.text-content > * + * { margin-top:20px; }
.text-content h2 { font-size:28px; line-height:1.3; margin-top:44px; color:var(--ink); }
.text-content h3 { font-size:21px; line-height:1.4; margin-top:28px; color:var(--ink); }
.text-content ul,.text-content ol { padding-left:26px; }
.text-content ul { list-style:disc; }
.text-content ol { list-style:decimal; }
.text-content li + li { margin-top:8px; }
.text-content a,.form-consents a,.cookie-banner a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.text-content table { display:block; max-width:100%; overflow:auto; border-collapse:collapse; }
.text-content th,.text-content td { padding:14px; border:1px solid var(--line); text-align:left; }
.text-content blockquote { border-left:2px solid var(--accent); padding-left:24px; }
.text-content img { max-width:100%; height:auto; }
.contacts__form .form-consents { margin:0; }
.contacts__form .form-consents p { display:grid; gap:12px; }
.contacts__form .form-consents br { display:none; }
.contacts__form .form-consents .wpcf7-list-item { margin:0; }
.contacts__form .form-consents label { display:flex; align-items:center; gap:12px; margin:0; font-size:12px; line-height:1.6; letter-spacing:0; font-weight:400; color:var(--muted); cursor:pointer; }
.contacts__form .form-consents input[type=checkbox] { appearance:none; display:block; width:20px; height:20px; flex:0 0 20px; margin:0; padding:0; border:1px solid #a5a9ab; border-radius:2px; background:white; cursor:pointer; }
.contacts__form .form-consents input[type=checkbox]:checked { background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3.5 3.5L15 7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px 20px no-repeat; border-color:var(--accent); }
.contacts__form .form-consents input[type=checkbox]:focus-visible { outline:2px solid var(--ink); outline-offset:3px; box-shadow:none; }
.form-consents .wpcf7-not-valid input { border-color:var(--accent); }
.legal-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; font-size:12px; color:var(--muted); }
.legal-links button { font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer; }
.language-nav button { color:var(--soft); background:none; cursor:pointer; }
.legal-links a:hover,.legal-links button:hover { color:var(--accent); }
.cookie-banner { position:fixed; z-index:1002; bottom:16px; left:20px; right:20px; margin:auto; max-width:1240px; display:flex; align-items:center; gap:24px; padding:16px 20px; background:#fff; color:var(--ink); border:1px solid var(--line); border-top:2px solid var(--accent); box-shadow:0 12px 48px #0002; }
.cookie-banner[hidden] { display:none; }
.cookie-banner h2 { font-size:16px; margin-bottom:6px; }
.cookie-banner p { font-size:12px; line-height:1.5; max-width:760px; }
.cookie-banner__actions { flex:0 0 370px; display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.cookie-banner__actions label { display:flex; align-items:center; gap:10px; font-size:13px; cursor:pointer; }
.cookie-banner__actions input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.cookie-banner .button { font-size:12px; padding:10px 12px; min-height:40px; }
.map-consent { height:375px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px; padding:32px; text-align:center; background:var(--panel,#e9eae7); }
.map-consent p { max-width:400px; font-size:14px; line-height:1.6; }
@media(max-width:900px) { .cookie-banner { flex-direction:column; align-items:stretch; gap:12px; padding:16px; bottom:12px; left:12px; right:12px; max-height:80vh; overflow:auto; } .cookie-banner__actions { flex:auto; width:100%; } }
@media(max-width:700px) { .text-page { padding-block:32px 60px; } }
