/* Компактные условия и клиентские предпочтения [18.15.10.49.7.1.4.18.2]. */
.service-page h1 { font-size:clamp(28px,4vw,44px); line-height:1.2; font-weight:400; }
.service-terms { margin:20px 0; }
.service-terms__schedule { display:grid; gap:10px; margin:18px 0; }
.service-terms__schedule div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:12px; }
.service-terms__schedule dt { color:var(--muted); }
.service-terms__schedule dd { margin:0; }
.service-terms .service-details { margin:14px 0; }
.service-summary .service-help { display:block; text-align:center; margin-top:14px; }
.service-summary .service-availability { margin:14px 0; }
.service-page .service-note { margin-top:28px; padding-top:18px; }
.client-preferences h1 { margin:20px 0 12px; }
.client-preferences h2 { font-size:clamp(20px,2vw,26px); }
.client-preferences [hidden] { display:none !important; }
.client-pref-channels,.client-pref-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:16px 0; }
.client-pref-channel { display:inline-flex; align-items:center; box-sizing:border-box; min-height:32px; border:1px solid var(--line); border-radius:999px; padding:4px 12px; background:var(--surface); color:var(--text); font-size:12px; font-weight:600; line-height:1.4; }
.client-pref-channel > button { display:inline-flex; align-items:center; min-height:0; margin:0; border:0; padding:0; background:transparent; color:inherit; font:inherit; line-height:inherit; cursor:help; }
.client-pref-consent { display:none; }
.client-pref-consent:target { display:block; margin:18px 0; }
.client-pref-actions .button[aria-pressed=true] { background:var(--accent); color:var(--accent-contrast); border-color:var(--accent); }
.client-pref-group { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); }
.client-pref-group strong { display:block; }
.client-pref-group small { color:var(--muted); }
.client-preferences input[type=checkbox] { width:18px; height:18px; margin:0; accent-color:var(--accent); flex-shrink:0; }
.client-pref-details { margin:18px 0; }
.client-pref-details > summary,.client-pref-marketing summary,.service-details > summary { color:var(--text); text-decoration:underline; text-underline-offset:3px; }
.client-pref-table { width:100%; table-layout:auto; border-collapse:collapse; color:var(--text); font:inherit; margin:16px 0; }
.client-pref-table th,.client-pref-table td { text-align:center; padding:12px 8px; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.client-pref-table th button { background:transparent; color:var(--text); border:0; padding:0; font:inherit; font-weight:600; }
.client-pref-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:18px 0; }
.client-pref-marketing { border-top:1px solid var(--line); padding-top:20px; margin-top:24px; }
.client-pref-ad-channels { display:flex; flex-wrap:wrap; align-items:center; gap:14px; border-top:1px solid var(--line); margin-top:20px; padding:16px 0; }
.client-pref-ad-channels label { display:inline-flex; align-items:center; gap:6px; }
.client-pref-required { position:relative; display:inline-flex; align-items:center; justify-content:center; vertical-align:middle; min-width:22px; min-height:24px; }
.client-pref-required input { pointer-events:none; }
.client-pref-required [role=tooltip],[data-pref-tooltip] [role=tooltip] { display:none; position:fixed; left:var(--pref-tip-left,16px); top:var(--pref-tip-top,16px); width:min(var(--pref-tip-width,240px),calc(100vw - 64px)); max-height:calc(100dvh - 32px); overflow-y:auto; z-index:10; padding:12px; background:var(--surface-strong); color:var(--text); border:1px solid var(--line); border-radius:12px; font-size:13px; text-align:left; box-shadow:var(--shadow-panel); }
.client-pref-required:focus-within [role=tooltip],.client-pref-required[data-open=true] [role=tooltip],[data-pref-tooltip]:focus-within [role=tooltip],[data-pref-tooltip][data-open=true] [role=tooltip] { display:block; }
@media(hover:hover) { .client-pref-required:hover [role=tooltip],[data-pref-tooltip]:hover [role=tooltip] { display:block; } }
.client-pref-dialog { width:min(680px,calc(100% - 32px)); max-height:calc(100% - 40px); overflow-y:auto; padding:24px; border:1px solid var(--line); border-radius:var(--radius-medium); background:var(--surface-strong); color:var(--text); box-shadow:var(--shadow-panel); }
.client-pref-dialog::backdrop { background:rgba(0,0,0,.55); backdrop-filter:blur(4px); }
/* Общая строка без пустого места над заголовком [18.15.10.49.9.3]. */
.client-pref-dialog__header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:14px; }
.client-pref-dialog__header > :first-child { min-width:0; margin:0; overflow-wrap:anywhere; }
.client-pref-dialog__close { display:block; margin:0; }
.client-pref-dialog__header + [data-overlay-content] > :first-child { margin-top:0; }
@media(max-width:400px) { .client-pref-dialog__header > :first-child { font-size:22px; line-height:1.2; } }
.client-pref-dialog p,.client-pref-dialog h2 { overflow-wrap:anywhere; }
[data-client-preferences-view-form] { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:12px; }
[data-client-preferences-view-form] label { display:grid; gap:6px; min-width:0; }
[data-client-preferences-view-form] label:first-of-type,[data-client-preferences-view-form] .form-hint { grid-column:1/-1; }
@media(max-width:768px) {
  .client-pref-actions { flex-direction:column; align-items:stretch; }
  .client-preferences .button { width:100%; }
  .client-pref-ad-channels { flex-direction:column; align-items:stretch; }
  .client-pref-table,.client-pref-table tbody { display:block; }
  .client-pref-table thead { display:none; }
  .client-pref-table[data-pref-channel-count="2"] { --pref-channel-count:2; }
  .client-pref-table[data-pref-channel-count="3"] { --pref-channel-count:3; }
  .client-pref-table[data-pref-channel-count="4"] { --pref-channel-count:4; }
  .client-pref-table tr { display:grid; grid-template-columns:repeat(var(--pref-channel-count,1),minmax(0,1fr)); border-bottom:1px solid var(--line); padding:12px 0; }
  .client-pref-table td { display:block; border:0; padding:6px; }
  .client-pref-table td:first-child { grid-column:1/-1; }
  .client-pref-table td:not(:first-child)::before { content:attr(data-label); display:block; color:var(--muted); font-size:13px; margin-bottom:5px; }
  .service-terms__schedule div { grid-template-columns:1fr; gap:2px; }
  [data-client-preferences-view-form] { grid-template-columns:1fr; }
  [data-client-preferences-view-form] .button { width:100%; }
}
@media(pointer:coarse) { .client-pref-required { min-width:44px; min-height:44px; } }
