        /* ═══════════════════════════════════════════════════════════
           Interno Core — cookie banner (includes/consent.php) and the
           footer's „ქუქი-ფაილების პარამეტრები“ button (1.7.1).
           ═══════════════════════════════════════════════════════════
           Site tokens (tokens.css): background #F5F5F5, text #1A1A1A,
           accent #8C3B28, hairline rgba(26,26,26,.15). The card is the
           Contact map card (.map-overlay); both buttons are the site's
           outline pill (.btn-outline), identical, so neither choice is
           pushed. Title Mark GEO CAPS 16 px (≤ 20 px: size rule unchanged),
           body FiraGO; no text-transform anywhere (the fonts have no
           Georgian capitals). Shown and hidden only through [hidden]. */

        .interno-consent[hidden],
        .interno-footer__consent[hidden] { display: none !important; }

        .interno-consent {
            position: fixed;
            /* Above page content; below the home header's drawer (99) and bar (100), the inner-page header with its drawer
               and call modal (99999), the home call modal (9999) and the catalog / product overlays (100000). */
            z-index: 98;
            left: 2rem;
            bottom: 2rem;
            box-sizing: border-box;
            width: 440px;
            max-width: calc(100% - 4rem);
            /* Never as tall as the screen: the fixed header (and its call button) stays clear. */
            max-height: calc(100vh - var(--ih-header-height, 80px) - 3rem);
            max-height: calc(100dvh - var(--ih-header-height, 80px) - 3rem);
            overflow-y: auto;
            overscroll-behavior: contain;
            margin: 0;
            padding: 1.5rem 1.8rem;
            background: var(--bg-color, #F5F5F5);
            color: var(--text-color, #1A1A1A);
            border: 1px solid var(--line-color, rgba(26, 26, 26, .15));
            border-radius: 4px;
            box-shadow: 0 12px 40px rgba(0, 0, 0, .08);
            font-family: 'FiraGo', 'Noto Sans Georgian', sans-serif;
            font-size: .9rem;
            font-weight: 400;
            line-height: 1.6;
            letter-spacing: normal;
            text-align: left;
            text-transform: none;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        .interno-consent *, .interno-consent *::before, .interno-consent *::after { box-sizing: border-box; }
        .interno-consent p { margin: 0 0 1rem; }
        .interno-consent .interno-consent__title {
            margin: 0 0 .5rem;
            font-family: 'Mark GEO CAPS', 'Noto Sans Georgian', sans-serif;
            font-size: 1rem;
            font-weight: normal;
            line-height: 1.3;
            letter-spacing: normal;
            text-transform: none;
        }
        .interno-consent .interno-consent__more { margin-top: -.4rem; }
        .interno-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; transition: opacity .4s ease; }
        .interno-consent a:hover { opacity: .7; }

        .interno-consent__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
        .interno-consent__btn {
            -webkit-appearance: none;
            appearance: none;
            flex: 1 1 9rem; /* equal widths; they stack, still equal, when both labels don't fit on one line */
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 44px;
            margin: 0;
            padding: .55rem 1.2rem;
            background: transparent;
            color: var(--text-color, #1A1A1A);
            border: 1px solid var(--text-color, #1A1A1A);
            border-radius: 50px;
            font-family: 'FiraGo', 'Noto Sans Georgian', sans-serif;
            font-size: .9rem;
            font-weight: 400;
            line-height: 1.2;
            letter-spacing: normal;
            text-transform: none;
            white-space: nowrap;
            cursor: pointer;
            transition: background .4s cubic-bezier(.22, 1, .36, 1), color .4s cubic-bezier(.22, 1, .36, 1);
        }
        .interno-consent__btn:hover,
        .interno-consent__btn:focus-visible { background: var(--text-color, #1A1A1A); color: var(--bg-color, #F5F5F5); }
        .interno-consent__btn:focus-visible,
        .interno-consent a:focus-visible { outline: 2px solid var(--accent-color, #8C3B28); outline-offset: 2px; }

        /* Footer legal row: looks like the links next to it (footer.css .interno-footer__legal a) */
        .interno-footer__legal .interno-footer__consent {
            -webkit-appearance: none;
            appearance: none;
            align-self: flex-start;
            margin: 0;
            padding: 0;
            border: 0;
            background: none;
            font: inherit;
            color: rgba(255, 255, 255, .5);
            text-align: left;
            cursor: pointer;
            transition: color .5s ease;
        }
        .interno-footer__legal .interno-footer__consent:hover,
        .interno-footer__legal .interno-footer__consent:focus-visible { color: #fff; }
        .interno-footer__legal .interno-footer__consent:focus-visible { outline: 1px solid #fff; outline-offset: 3px; }

        @media (max-width: 768px) {
            .interno-consent {
                left: .75rem;
                right: .75rem;
                left: max(.75rem, env(safe-area-inset-left));
                right: max(.75rem, env(safe-area-inset-right));
                bottom: .75rem;
                bottom: calc(.75rem + env(safe-area-inset-bottom));
                width: auto;
                max-width: none;
                max-height: calc(100vh - var(--ih-header-height, 80px) - 1.5rem);
                max-height: calc(100dvh - var(--ih-header-height, 80px) - 1.5rem);
                padding: 1rem;
                font-size: .85rem;
                line-height: 1.55;
            }
            /* one row of buttons from 360 px up; below that they stack, still equal */
            .interno-consent__btn { flex-basis: 8.5rem; padding: .55rem 1rem; }
        }
        @media (prefers-reduced-motion: reduce) {
            .interno-consent a, .interno-consent__btn, .interno-footer__legal .interno-footer__consent { transition: none; }
        }
        @media print {
            .interno-consent { display: none !important; }
        }
