.terms-page { min-height: 100svh; background: #f6f3ed; }
.terms-header { background: rgba(248,245,239,.98); }
.terms-hero { position: relative; overflow: hidden; padding: clamp(40px,6vw,90px) clamp(22px,8vw,130px) clamp(56px,7vw,100px); color: white; background: var(--ink); isolation: isolate; }
.terms-hero::after { content: "REGULAMIN"; position: absolute; right: -18px; bottom: -17px; z-index: -1; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.12); font-size: clamp(68px,14vw,210px); font-weight: 900; line-height: .74; letter-spacing: -.07em; }
.terms-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: clamp(42px,7vw,82px); color: #b8cbd3; font-size: 12px; }
.terms-breadcrumb a { font-weight: 800; text-underline-offset: 3px; }
.terms-hero > p { margin: 0 0 12px; color: var(--lime); font-size: 11px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.terms-hero h1 { margin: 0; font-size: clamp(60px,9vw,132px); line-height: .84; letter-spacing: -.07em; }
.terms-hero__meta { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 35px; color: #d5e0e4; font-size: 13px; }
.terms-hero__meta span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.27); }
.terms-layout { display: grid; grid-template-columns: minmax(190px,260px) minmax(0,860px); justify-content: center; gap: clamp(48px,8vw,120px); padding: clamp(56px,8vw,120px) clamp(22px,8vw,130px); }
.terms-aside { position: sticky; top: 25px; align-self: start; padding: 24px; border-top: 7px solid var(--lime); background: white; box-shadow: 0 20px 48px rgba(6,43,64,.09); }
.terms-aside p { margin: 0 0 8px; color: #5c737d; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.terms-aside strong { display: block; font-size: 16px; line-height: 1.25; }
.terms-aside button,.terms-error button { margin-top: 22px; padding: 11px 14px; border: 1px solid var(--ink); background: white; color: var(--ink); font: inherit; font-size: 12px; font-weight: 900; cursor: pointer; }
.terms-aside button:is(:hover,:focus-visible),.terms-error button:is(:hover,:focus-visible) { color: white; background: var(--ink); }
.terms-document { min-width: 0; }
.terms-loading,.terms-error { padding: 30px; border: 1px solid rgba(6,43,64,.16); background: white; color: #49606a; font-family: Arial,sans-serif; line-height: 1.6; }
.terms-error { border-color: rgba(221,81,27,.35); }
.terms-error strong { color: var(--ink); font-family: inherit; }
.terms-error p { margin: 8px 0 0; }
.terms-document [data-terms-content] { color: #405e6d; font-family: Arial,sans-serif; font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.terms-document [data-terms-content] > :first-child { margin-top: 0; }
.terms-document [data-terms-content] h2 { margin: 2.3em 0 .75em; color: var(--ink); font-family: Georgia,serif; font-size: clamp(24px,3vw,34px); line-height: 1.15; }
.terms-document [data-terms-content] h3 { margin: 1.8em 0 .6em; color: var(--ink); font-size: 20px; line-height: 1.25; }
.terms-document [data-terms-content] p { margin: 0 0 1em; }
.terms-document [data-terms-content] ol, .terms-document [data-terms-content] ul { margin: 0 0 1.25em; padding-left: 1.5em; }
.terms-document [data-terms-content] li + li { margin-top: .5em; }
.terms-document [data-terms-content] li > ol, .terms-document [data-terms-content] li > ul { margin-top: .5em; margin-bottom: 0; }
.terms-document [data-terms-content] a { color: var(--orange); font-weight: 800; }
@media (max-width: 820px) { .terms-layout { grid-template-columns: 1fr; } .terms-aside { position: static; } }
@media (max-width: 680px) { .terms-hero { padding: 28px 20px 65px; } .terms-hero h1 { font-size: clamp(55px,17vw,76px); } .terms-layout { padding: 44px 20px 70px; } .terms-document [data-terms-content] { font-size: 15px; } }
@media print { .site-header,.site-footer,.terms-aside,.terms-breadcrumb { display: none !important; } .terms-hero { padding: 0 0 28px; color: #000; background: #fff; } .terms-hero::after { display: none; } .terms-hero > p,.terms-hero__meta { color: #000; } .terms-layout { display: block; padding: 0; } }
