.ra-consent-mini,
          .ra-consent-mini * {
            box-sizing: border-box;
          }

          .ra-consent-mini[hidden] {
            display: none !important;
          }

          .ra-consent-mini {
            --ra-consent-bg: #0f141e;
            --ra-consent-bg-deep: #080d14;
            --ra-consent-text: #dad5aa;
            --ra-consent-text-soft: #c8c099;
            --ra-consent-muted: #9a9480;
            --ra-consent-gold: #dcb452;
            --ra-consent-gold-soft: #e1b759;
            --ra-consent-gold-bright: #ffd966;
            --ra-consent-border: rgba(220, 180, 82, 0.30);
            --ra-consent-border-strong: rgba(255, 224, 141, 0.58);

            position: fixed;
            right: max(22px, env(safe-area-inset-right));
            bottom: max(22px, env(safe-area-inset-bottom));
            z-index: 999999;
            width: min(480px, calc(100vw - 44px));
            color: var(--ra-consent-text);
            font-family: inherit;
            opacity: 0;
            transform: translateY(18px) scale(0.988);
            pointer-events: none;
            filter: blur(4px);
            transition:
              opacity 0.44s cubic-bezier(0.22, 1, 0.36, 1),
              transform 0.52s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.44s ease;
          }

          .ra-consent-mini.is-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
            filter: blur(0);
          }

          .ra-consent-mini.is-hiding {
            opacity: 0;
            transform: translateY(14px) scale(0.99);
            pointer-events: none;
            filter: blur(4px);
          }

          .ra-consent-mini__halo {
            display: none;
          }

          @property --ra-consent-border-angle {
            syntax: "<angle>";
            initial-value: 0deg;
            inherits: false;
          }

          .ra-consent-mini__card {
            position: relative;
            z-index: 1;
            display: flex;
            align-items: center;
            width: 100%;
            overflow: hidden;
            isolation: isolate;
            border: 0;
            border-radius: 22px;
            padding: 18px;
            background:
              linear-gradient(145deg, rgba(224, 180, 92, 0.012) 0%, rgba(176, 125, 56, 0.006) 100%),
              linear-gradient(145deg, rgba(29, 28, 25, 0.96) 0%, rgba(17, 17, 15, 0.94) 100%);
            box-shadow:
              0 8px 22px rgba(70, 45, 18, 0.040),
              inset 0 0 0 1px rgba(220, 180, 82, 0.145),
              inset 0 -1px 0 rgba(220, 180, 82, 0.040);
          }

          .ra-consent-mini__card::before {
            --ra-consent-border-angle: 0deg;
            content: "";
            position: absolute;
            inset: 0;
            z-index: 3;
            padding: 1px;
            pointer-events: none;
            border-radius: inherit;
            opacity: 0.92;
            background:
              conic-gradient(
                from var(--ra-consent-border-angle),
                rgba(125, 87, 22, 0.24) 0deg,
                rgba(125, 87, 22, 0.24) 205deg,
                rgba(170, 116, 34, 0.30) 225deg,
                rgba(190, 136, 42, 0.38) 245deg,
                rgba(255, 224, 141, 0.58) 274deg,
                rgba(255, 231, 156, 0.56) 292deg,
                rgba(220, 157, 51, 0.46) 318deg,
                rgba(150, 101, 28, 0.30) 342deg,
                rgba(125, 87, 22, 0.24) 360deg
              );
            -webkit-mask:
              linear-gradient(#000 0 0) content-box,
              linear-gradient(#000 0 0);
            -webkit-mask-composite: xor;
            mask:
              linear-gradient(#000 0 0) content-box,
              linear-gradient(#000 0 0);
            mask-composite: exclude;
            animation: raConsentMiniBorderRun 4.2s linear infinite;
          }
          .ra-consent-mini__grain {
            position: absolute;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            opacity: 0.045;
            background-image:
              linear-gradient(90deg, rgba(255,255,255,0.10) 1px, transparent 1px),
              linear-gradient(0deg, rgba(255,255,255,0.055) 1px, transparent 1px);
            background-size: 11px 11px;
          }

          @keyframes raConsentMiniBorderRun {
            0% {
              --ra-consent-border-angle: 0deg;
            }

            100% {
              --ra-consent-border-angle: 360deg;
            }
          }

          .ra-consent-mini__text,
          .ra-consent-mini__button {
            position: relative;
            z-index: 4;
          }

          .ra-consent-mini__text {
            flex: 1 1 auto;
            min-width: 0;
            margin: 0;
            color: var(--ra-consent-text-soft);
            font-size: 13.5px;
            line-height: 1.44;
            font-weight: 500;
            text-align: left;
          }

          .ra-consent-mini .ra-consent-mini__text a,
          .ra-consent-mini .ra-consent-mini__text a:visited,
          .ra-consent-mini .ra-consent-mini__text a:active {
            color: rgb(219 189 116 / 74%) !important;
            -webkit-text-fill-color: rgb(219 189 116 / 74%) !important;
            text-decoration: none !important;
            text-decoration-line: none !important;
            text-decoration-color: transparent !important;
            background: none !important;
            background-image: none !important;
            border: 0 !important;
            border-bottom: 1px solid transparent !important;
            box-shadow: none !important;
            transition:
              color 0.22s ease,
              -webkit-text-fill-color 0.22s ease,
              border-color 0.22s ease,
              opacity 0.22s ease;
          }

          .ra-consent-mini .ra-consent-mini__text a:hover,
          .ra-consent-mini .ra-consent-mini__text a:focus-visible {
            color: #e1b759 !important;
            -webkit-text-fill-color: #e1b759 !important;
            border-bottom-color: rgba(225, 183, 89, 0.46) !important;
            outline: none;
          }

          .ra-consent-mini__button {
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 108px;
            min-height: 40px;
            margin: 0 0 0 10px;
            padding: 11px 15px;
            border: 1px solid rgba(220, 180, 82, 0.46) !important;
            border-radius: 12px;
            background: rgba(255, 255, 255, 0.025) !important;
            color: rgba(255, 231, 156, 0.88) !important;
            font-size: 13px;
            line-height: 1;
            font-weight: 900;
            letter-spacing: 0.075em;
            text-transform: uppercase;
            cursor: pointer;
            box-shadow:
              0 10px 22px rgba(0, 0, 0, 0.22),
              inset 0 1px 0 rgba(255, 255, 255, 0.06);
            transition:
              transform 0.24s ease,
              border-color 0.24s ease,
              background 0.24s ease,
              color 0.24s ease,
              box-shadow 0.24s ease;
            -webkit-tap-highlight-color: transparent;
          }

          .ra-consent-mini__button:hover,
          .ra-consent-mini__button:focus-visible {
            transform: translateY(-2px);
            border-color: rgba(255, 224, 141, 0.72) !important;
            background: rgba(255, 255, 255, 0.040) !important;
            color: rgba(255, 235, 170, 0.98) !important;
            outline: none;
            box-shadow:
              0 15px 30px rgba(0, 0, 0, 0.30),
              inset 0 1px 0 rgba(255, 255, 255, 0.085);
          }

          .ra-consent-mini__button:focus:not(:focus-visible),
          .ra-consent-mini__button:active {
            background: rgba(255, 255, 255, 0.025) !important;
            color: rgba(255, 231, 156, 0.88) !important;
            border-color: rgba(220, 180, 82, 0.46) !important;
          }

          /* Печенька-домовёнок: премиум SVG-версия
             Персонаж вынесен за пределы рамки и сидит над центром кнопки. */
          .ra-consent-mini__button-zone {
            position: relative;
            z-index: 6;
            flex: 0 0 auto;
            margin: 0 0 0 10px;
          }

          .ra-consent-mini__button-zone .ra-consent-mini__button {
            margin-left: 0;
          }

          .ra-consent-mini__mascot {
            position: absolute;
            left: calc(100% - 72px);
            bottom: calc(100% - 31px);
            z-index: 10;
            width: 80px;
            height: 80px;
            pointer-events: none;
            opacity: 0;
            transform: translateX(-50%) translateY(8px) scale(0.98);
            transform-origin: 50% 82%;
            filter: drop-shadow(0 9px 12px rgba(0, 0, 0, 0.24));
            transition:
              opacity 0.42s ease,
              transform 0.58s cubic-bezier(0.22, 1, 0.36, 1),
              filter 0.42s ease;
          }

          .ra-consent-mini.is-visible .ra-consent-mini__mascot {
            opacity: 1;
            transform: translateX(-50%) translateY(0) scale(1);
          }

          .ra-cookie-svg {
            display: block;
            width: 100%;
            height: 100%;
            overflow: visible;
          }

          .ra-cookie-body {
            fill: #b96f22;
            stroke: rgba(58, 32, 16, 0.90);
            stroke-width: 2.7;
          }

          .ra-cookie-chip {
            fill: #4a2412;
            opacity: 0.88;
          }

          .ra-cookie-eye {
            fill: #231610;
          }

          .ra-cookie-eye-shine {
            fill: rgba(255, 238, 188, 0.74);
            pointer-events: none;
          }

          .ra-cookie-mouth,
          .ra-cookie-mouth-smile {
            stroke: #231610;
            stroke-linecap: round;
            transition: opacity 0.18s ease;
          }

          .ra-cookie-mouth {
            opacity: 0.58;
            stroke-width: 2.35;
          }

          .ra-cookie-mouth-smile {
            opacity: 0;
            stroke-width: 2.35;
          }

          .ra-consent-mini.is-button-hover .ra-cookie-mouth,
          .ra-consent-mini.is-accepted .ra-cookie-mouth {
            opacity: 0;
          }

          .ra-consent-mini.is-button-hover .ra-cookie-mouth-smile,
          .ra-consent-mini.is-accepted .ra-cookie-mouth-smile {
            opacity: 1;
          }

          .ra-cookie-arm {
            stroke: #4b2a18;
            stroke-width: 2.15;
            stroke-linecap: round;
            stroke-linejoin: round;
          }

          .ra-cookie-hand-left,
          .ra-cookie-hand-right {
            fill: #4b2a18;
          }

          .ra-cookie-key-hand {
            transform-box: view-box;
            transform-origin: 81px 55px;
          }

          .ra-consent-mini.is-visible .ra-cookie-key-hand {
            animation: raCookieKeyLift 0.72s cubic-bezier(0.22, 1, 0.36, 1) 0.16s both;
          }

          .ra-consent-mini.is-accepted .ra-cookie-key-hand {
            animation: raCookieWave 0.56s ease-in-out 2;
          }

          .ra-cookie-leg-group {
            transform-box: fill-box;
            transform-origin: 50% 0%;
          }

          .ra-consent-mini.is-visible .ra-cookie-leg-left-group {
            animation: raCookieLegSwingLeft 2.8s ease-in-out 0.5s infinite;
          }

          .ra-consent-mini.is-visible .ra-cookie-leg-right-group {
            animation: raCookieLegSwingRight 3.1s ease-in-out 0.68s infinite;
          }

          .ra-cookie-leg {
            stroke: #3f2518;
            stroke-width: 2.15;
            stroke-linecap: round;
          }

          .ra-cookie-shoe {
            fill: #4b5360;
            stroke: rgba(255, 224, 141, 0.34);
            stroke-width: 1.05;
          }

          .ra-cookie-key-ring,
          .ra-cookie-key-stem,
          .ra-cookie-key-head {
            fill: none;
            stroke: #f4d15d;
            stroke-width: 3.6;
            stroke-linecap: round;
            stroke-linejoin: round;
          }

          .ra-cookie-key-shine {
            opacity: 0;
            stroke: #fff1a6;
            stroke-width: 2.3;
            stroke-linecap: round;
          }

          .ra-consent-mini.is-accepted .ra-cookie-key-shine {
            animation: raCookieKeyShine 0.42s ease-in-out 0.12s 2;
          }

          .ra-consent-mini.is-accepted .ra-consent-mini__mascot {
            animation: raCookieAccepted 0.74s cubic-bezier(0.22, 1, 0.36, 1) both;
          }

          @keyframes raCookieKeyLift {
            0% {
              transform: rotate(0deg) translateY(0);
            }

            55% {
              transform: rotate(-6deg) translateY(-2px);
            }

            100% {
              transform: rotate(0deg) translateY(0);
            }
          }

          @keyframes raCookieWave {
            0%, 100% {
              transform: rotate(0deg);
            }

            35% {
              transform: rotate(-16deg);
            }

            70% {
              transform: rotate(9deg);
            }
          }

          @keyframes raCookieLegSwingLeft {
            0%, 100% {
              transform: rotate(0deg) translateY(0);
            }

            50% {
              transform: rotate(4deg) translateY(0.8px);
            }
          }

          @keyframes raCookieLegSwingRight {
            0%, 100% {
              transform: rotate(0deg) translateY(0);
            }

            50% {
              transform: rotate(-3.6deg) translateY(0.7px);
            }
          }

          @keyframes raCookieKeyShine {
            0%, 100% {
              opacity: 0;
            }

            45% {
              opacity: 1;
            }
          }

          @keyframes raCookieAccepted {
            0% {
              opacity: 1;
              transform: translateX(-50%) translateY(0) rotate(0deg) scale(1);
            }

            42% {
              opacity: 1;
              transform: translateX(-50%) translateY(-5px) rotate(3deg) scale(1.02);
            }

            100% {
              opacity: 0;
              transform: translateX(-50%) translateY(12px) rotate(-8deg) scale(0.92);
            }
          }

          @media (max-width: 559px) {
            .ra-consent-mini {
              left: max(12px, env(safe-area-inset-left));
              right: max(12px, env(safe-area-inset-right));
              bottom: max(12px, env(safe-area-inset-bottom));
              width: auto;
            }

            .ra-consent-mini__card {
              flex-direction: column;
              align-items: stretch;
              border-radius: 20px;
              padding: 13px;
            }
            .ra-consent-mini__text {
              font-size: 13.5px;
              line-height: 1.46;
            }

            .ra-consent-mini__button-zone {
              width: 100%;
              margin: 10px 0 0 0;
            }

            .ra-consent-mini__mascot {
              left: 50%;
              bottom: calc(100% - 34px);
              width: 78px;
              height: 78px;
            }

            .ra-consent-mini__button {
              width: 100%;
              min-height: 46px;
              margin: 0;
            }
          }

          @media (hover: none) {
            .ra-consent-mini__button:hover {
              transform: none;
            }
          }

          @media (prefers-reduced-motion: reduce) {
            .ra-consent-mini,
            .ra-consent-mini *,
            .ra-consent-mini *::before,
            .ra-consent-mini *::after {
              animation: none !important;
              transition: none !important;
              scroll-behavior: auto !important;
            }

            .ra-consent-mini {
              filter: none !important;
              transform: none !important;
            }
          }

          @media print {
            .ra-consent-mini {
              display: none !important;
            }
          }

/* v1.0.153u1: единая односторонняя система плавающих элементов.
   Правило: toast/уведомления всегда стоят у нижнего края экрана,
   а cookie/персональные данные при необходимости поднимаются НАД активным toast.
   Нельзя одновременно поднимать toast над cookie — это создаёт взаимный offset и визуальный дубль. */
:root {
  --ra-floating-toast-stack-offset: 0px;
  --ra-consent-stack-offset: 0px;
}

.ra-consent-mini {
  --ra-consent-footer-offset: 0px;
  bottom: calc(max(22px, env(safe-area-inset-bottom)) + var(--ra-floating-toast-stack-offset, 0px) + var(--ra-consent-footer-offset, 0px)) !important;
  z-index: 2147483647 !important;
  transition:
    opacity 0.44s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.44s ease !important;
}

/* add_objects: the map modal owns the interaction layer while open.
   Keep the pending consent state, but do not cover its action buttons. */
body.ra-location-map-modal-open .ra-consent-mini.is-visible {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(14px) scale(0.99) !important;
  pointer-events: none !important;
  filter: blur(4px) !important;
}

#rentarest-add-object-notification,
#rentarest-add-documents-notification,
#rentarest-my-objects-notification,
#rentarest-popup-1161-notification.contacts-notification,
.lux-auth-notification,
.ra-footer__notification,
.law-contacts .contacts-notification {
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  z-index: 2147483646 !important;
}

#rra-client-requests-update-notice,
#rra-owner-requests-update-notice {
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  z-index: 2147483646 !important;
}

@media (max-width: 640px) {
  #rentarest-add-object-notification,
  #rentarest-add-documents-notification,
  #rentarest-my-objects-notification,
  #rentarest-popup-1161-notification.contacts-notification,
  .lux-auth-notification,
  .ra-footer__notification,
  .law-contacts .contacts-notification,
  #rra-client-requests-update-notice,
  #rra-owner-requests-update-notice {
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
  }
}


/* v1.0.82 reduced motion guard */
@media (prefers-reduced-motion: reduce) {
  .ra-consent-mini {
    transition: none !important;
  }
}
