/* PROFI: offset from both the scroll-to-top control and the Bitrix contact widget. */
#profi-cookie-banner,
#profi-cookie-preferences { box-sizing: border-box; font-family: Helvetica, Calibri, Arial, sans-serif; -webkit-text-size-adjust: 100%; }
#profi-cookie-banner *,
#profi-cookie-preferences * { box-sizing: border-box; }
#profi-cookie-banner[hidden],
#profi-cookie-preferences[hidden],
#profi-cookie-banner [hidden] { display: none !important; }
#profi-cookie-banner {
  --pc-ink: #000000;
  --pc-muted: #222222;
  --pc-blue: #168ee5;
  position: fixed;
  z-index: 990;
  left: clamp(140px, calc((100vw - 1320px) / 2), 440px);
  right: auto;
  bottom: max(24px, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) 228px;
  align-items: center;
  gap: 22px 30px;
  width: min(920px, calc(100vw - 280px));
  max-height: calc(100vh - 180px);
  max-height: calc(100dvh - 180px);
  margin: 0;
  padding: 30px 32px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid #eeeeee;
  border-radius: 0;
  background: #ffffff;
  box-shadow: 0 3px 18px #0000000d;
  color: var(--pc-ink);
  text-align: left;
  line-height: 1.5;
}
#profi-cookie-banner h2 { margin: 0 0 12px; padding: 0; color: var(--pc-ink); font-family: inherit; font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: normal; text-align: left; }
#profi-cookie-banner p { margin: 0; padding: 0; color: var(--pc-muted); font-size: 16px; line-height: 1.5; }
#profi-cookie-banner .pc-links { margin-top: 12px; color: #555555; font-size: 13px; line-height: 1.5; }
#profi-cookie-banner a { color: #555555; text-decoration: underline; text-underline-offset: 2px; }
#profi-cookie-banner a:hover { color: #000000; }
#profi-cookie-banner .pc-actions { display: grid; gap: 8px; }
#profi-cookie-banner .pc-button,
#profi-cookie-preferences { appearance: none; min-height: 44px; margin: 0; padding: 10px 10px; border: 1px solid transparent; border-radius: 0; font-family: Helvetica, Calibri, Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.4; text-align: center; text-transform: uppercase; cursor: pointer; transition: background-color .16s ease, border-color .16s ease; }
#profi-cookie-banner .pc-primary { background: #168ee5; border-color: #168ee5; color: white; }
#profi-cookie-banner .pc-primary:hover { background: #0b7bcc; border-color: #0b7bcc; }
#profi-cookie-banner .pc-secondary { background: #ffffff; border-color: #168ee5; color: #076cac; }
#profi-cookie-banner .pc-secondary:hover { background: #edf7ff; border-color: #0b7bcc; }
#profi-cookie-banner .pc-settings-button { min-height: 36px; padding-block: 6px; color: #555555; background: transparent; font-weight: 400; text-transform: none; text-decoration: underline; }
#profi-cookie-banner .pc-settings-button:hover { background: #f5f5f5; color: #000000; }
#profi-cookie-banner :focus-visible,
#profi-cookie-preferences:focus-visible { outline: 2px solid #076cac; outline-offset: 3px; }
#profi-cookie-banner .pc-settings { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 12px; min-width: 0; margin: 0; padding: 16px 0 0; border: 0; border-top: 1px solid #dddddd; }
#profi-cookie-banner .pc-settings legend { float: none; width: auto; max-width: 100%; margin: 0; padding: 0 12px 0 0; border: 0; color: var(--pc-ink); font-size: 15px; font-weight: 700; }
#profi-cookie-banner .pc-category { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-width: 0; margin: 0; padding: 14px; border: 1px solid #dddddd; border-radius: 0; background: #fafafa; color: var(--pc-ink); font-weight: 400; cursor: pointer; }
#profi-cookie-banner .pc-required { flex-wrap: wrap; cursor: default; }
#profi-cookie-banner .pc-category strong { display: block; color: var(--pc-ink); font-size: 14px; font-weight: 700; }
#profi-cookie-banner .pc-category small { display: block; margin-top: 4px; color: #555555; font-size: 13px; line-height: 1.5; }
#profi-cookie-banner .pc-always { color: #555555; font-size: 12px; white-space: nowrap; }
#profi-cookie-banner input[type="checkbox"] { appearance: auto; position: static; display: block; flex: 0 0 21px; width: 21px; height: 21px; margin: 0; opacity: 1; accent-color: #168ee5; cursor: pointer; }
#profi-cookie-banner label::before,
#profi-cookie-banner label::after { display: none !important; content: none !important; }
#profi-cookie-banner .pc-reload-note,
#profi-cookie-banner .pc-widget-note { grid-column: 1 / -1; color: #555555; font-size: 12px; }
#profi-cookie-preferences { position: fixed; z-index: 980; left: max(12px, env(safe-area-inset-left)); bottom: max(8px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 9px 13px; border-color: #dddddd; border-radius: 0; background: #ffffff; box-shadow: 0 2px 10px #0000000d; color: #555555; font-size: 12px; font-weight: 400; text-transform: none; text-decoration: underline; }
#profi-cookie-preferences:hover { background: #f5f5f5; border-color: #168ee5; }
@media (max-width: 1150px) and (min-width: 901px) {
  #profi-cookie-banner { grid-template-columns: minmax(0, 1fr) 210px; gap: 20px; padding: 22px; }
  #profi-cookie-banner h2 { font-size: 19px; }
}
@media (max-width: 1500px) and (min-width: 901px) {
  #profi-cookie-banner { bottom: max(160px, env(safe-area-inset-bottom)); max-height: calc(100vh - 198px); max-height: calc(100dvh - 198px); }
}
@media (max-width: 900px) {
  /* Override Aspro's mobile bottom: 20px !important to keep the controls apart. */
  #scrollToTop { bottom: max(58px, calc(env(safe-area-inset-bottom) + 50px)) !important; }
  #profi-cookie-banner { left: 16px; right: 16px; bottom: max(160px, calc(env(safe-area-inset-bottom) + 144px)); width: auto; grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 22px; max-height: calc(100vh - 198px); max-height: calc(100dvh - 198px); }
  #profi-cookie-banner .pc-actions { grid-template-columns: 1fr 1fr; }
  #profi-cookie-banner .pc-settings-button { grid-column: 1 / -1; }
  #profi-cookie-banner[data-view="settings"] .pc-settings { grid-row: 2; }
  #profi-cookie-banner[data-view="settings"] .pc-actions { grid-row: 3; }
}
@media (max-width: 540px) {
  #profi-cookie-banner { left: 12px; right: 12px; padding: 20px; gap: 16px; }
  #profi-cookie-banner h2 { font-size: 19px; }
  #profi-cookie-banner p { font-size: 14px; }
  #profi-cookie-banner .pc-actions { grid-template-columns: minmax(0, 1fr); gap: 7px; }
  #profi-cookie-banner .pc-settings { grid-template-columns: minmax(0, 1fr); }
  #profi-cookie-banner .pc-links { font-size: 12px; }
  #profi-cookie-banner .pc-widget-note,
  #profi-cookie-banner .pc-reload-note { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  #profi-cookie-banner *, #profi-cookie-preferences { transition: none; scroll-behavior: auto; }
}
