/* Admin controlled colors: home + city pages only */
      body.city-page {
        --bg: #000000 !important;
        --surface: #000000 !important;
        --card: #000000 !important;
        --footer-bg: #000000 !important;
        --text: #ffffff !important;
        --muted: #ffffff !important;
        --footer-text: #ffffff !important;
        --primary: #1e00ff !important;
        --border: #1e00ff !important;
      }

      body.city-page,
      body.city-page .site-header,
      body.city-page header,
      body.city-page header.site-header,
      body.city-page .site-header .container,
      body.city-page .site-header .header-bar,
      body.city-page main,
      body.city-page main.container,
      body.city-page .container,
      body.city-page .city-head,
      body.city-page .home-city-head,
      body.city-page .city-description,
      body.city-page .home-city-description,
      body.city-page .city-shortcode,
      body.city-page .breadcrumb-wrap,
      body.city-page .site-footer,
      body.city-page footer.site-footer,
      body.city-page .site-footer .container,
      body.city-page .footer-inner,
      body.city-page .footer-links,
      body.city-page .footer-copy-wrap,
      body.city-page .city-footer-dropdown {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
      }

      body.city-page,
      body.city-page .breadcrumb,
      body.city-page .breadcrumb-item.active,
      body.city-page .footer-copy,
      body.city-page .footer-sep,
      body.city-page .city-footer-dropdown,
      body.city-page .city-footer-dropdown *:not(a),
      body.city-page .city-head,
      body.city-page .city-head h1,
      body.city-page .city-head h2,
      body.city-page .home-city-head h1,
      body.city-page .home-city-head h2,
      body.city-page .city-description,
      body.city-page .home-city-description,
      body.city-page .city-shortcode,
      body.city-page .city-description p,
      body.city-page .home-city-description p,
      body.city-page .city-shortcode p,
      body.city-page .city-description li,
      body.city-page .home-city-description li,
      body.city-page .city-shortcode li,
      body.city-page .city-description h1,
      body.city-page .city-description h2,
      body.city-page .city-description h3,
      body.city-page .city-description h4,
      body.city-page .city-description h5,
      body.city-page .city-description h6,
      body.city-page .home-city-description h1,
      body.city-page .home-city-description h2,
      body.city-page .home-city-description h3,
      body.city-page .home-city-description h4,
      body.city-page .home-city-description h5,
      body.city-page .home-city-description h6,
      body.city-page .city-shortcode h1,
      body.city-page .city-shortcode h2,
      body.city-page .city-shortcode h3,
      body.city-page .city-shortcode h4,
      body.city-page .city-shortcode h5,
      body.city-page .city-shortcode h6,
      body.city-page .city-description strong,
      body.city-page .home-city-description strong,
      body.city-page .city-shortcode strong,
      body.city-page .city-description b,
      body.city-page .home-city-description b,
      body.city-page .city-shortcode b,
      body.city-page .city-description em,
      body.city-page .home-city-description em,
      body.city-page .city-shortcode em,
      body.city-page .city-description div,
      body.city-page .home-city-description div,
      body.city-page .city-shortcode div,
      body.city-page .city-description span,
      body.city-page .home-city-description span,
      body.city-page .city-shortcode span,
      body.city-page .city-description table,
      body.city-page .home-city-description table,
      body.city-page .city-shortcode table,
      body.city-page .city-description thead,
      body.city-page .home-city-description thead,
      body.city-page .city-shortcode thead,
      body.city-page .city-description tbody,
      body.city-page .home-city-description tbody,
      body.city-page .city-shortcode tbody,
      body.city-page .city-description tr,
      body.city-page .home-city-description tr,
      body.city-page .city-shortcode tr,
      body.city-page .city-description th,
      body.city-page .home-city-description th,
      body.city-page .city-shortcode th,
      body.city-page .city-description td,
      body.city-page .home-city-description td,
      body.city-page .city-shortcode td,
      body.city-page .city-description .table,
      body.city-page .home-city-description .table,
      body.city-page .city-shortcode .table,
      body.city-page .city-description .table th,
      body.city-page .home-city-description .table th,
      body.city-page .city-shortcode .table th,
      body.city-page .city-description .table td,
      body.city-page .home-city-description .table td,
      body.city-page .city-shortcode .table td {
        color: #ffffff !important;
      }

      /* Force text color on EVERY element inside admin content, including
         elements that the rich-text editor gave an inline style="color:.."
         or a <font color> attribute. Links and contact buttons excluded. */
      body.city-page .city-head *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .home-city-head *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .city-description *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .home-city-description *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]),
      body.city-page .city-shortcode *:not(a):not(.btn):not(.fixed-contact-btn):not([class*="contact"]) {
        color: #ffffff !important;
      }
      body.city-page .city-head font[color],
      body.city-page .home-city-head font[color],
      body.city-page .city-description font[color],
      body.city-page .home-city-description font[color],
      body.city-page .city-shortcode font[color] {
        color: #ffffff !important;
      }

      /* CONTENT TEXT COLOR — matches the exact selector the content uses.
         Picker colour applies to EVERY element, except links, brand link,
         and the contact buttons (and everything inside them). Same
         (0,5,3) specificity the content already responds to. */
      body.city-page,
      body.city-page *:not(a):not(.brand a):not(.btn):not(.fixed-contact-btn):not(.fixed-contact-btn *):not(.btn *) {
        color: #ffffff !important;
      }

      /* Contact buttons stay LOCKED white — undo the wildcard above for the
         buttons themselves AND every element inside them (span, svg, svg *, i). */
      body.city-page .fixed-contact-bar,
      body.city-page .fixed-contact-bar *,
      body.city-page .fixed-contact-btn,
      body.city-page .fixed-contact-btn *,
      body.city-page a.btn.phone,
      body.city-page a.btn.phone *,
      body.city-page a.btn.whatsapp,
      body.city-page a.btn.whatsapp *,
      body.city-page .btn.phone,
      body.city-page .btn.phone *,
      body.city-page .btn.whatsapp,
      body.city-page .btn.whatsapp * {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      body.city-page .city-description table,
      body.city-page .home-city-description table,
      body.city-page .city-shortcode table,
      body.city-page .city-description th,
      body.city-page .home-city-description th,
      body.city-page .city-shortcode th,
      body.city-page .city-description td,
      body.city-page .home-city-description td,
      body.city-page .city-shortcode td,
      body.city-page .city-description .table th,
      body.city-page .home-city-description .table th,
      body.city-page .city-shortcode .table th,
      body.city-page .city-description .table td,
      body.city-page .home-city-description .table td,
      body.city-page .city-shortcode .table td {
        background: #000000 !important;
        background-color: #000000 !important;
        border-color: #1e00ff !important;
      }

      body.city-page a:not(.btn):not(.fixed-contact-btn),
      body.city-page a:not(.btn):not(.fixed-contact-btn) strong,
      body.city-page .brand a,
      body.city-page .breadcrumb a,
      body.city-page .footer-link,
      body.city-page .footer-link:visited,
      body.city-page .footer-link:hover,
      body.city-page .footer-link:focus,
      body.city-page .city-description a:not(.btn):not(.fixed-contact-btn),
      body.city-page .home-city-description a:not(.btn):not(.fixed-contact-btn),
      body.city-page .city-shortcode a:not(.btn):not(.fixed-contact-btn) {
        color: #1e00ff !important;
      }

      body.city-page .chip.active,
      body.city-page .city-link:hover {
        background: #1e00ff !important;
        background-color: #1e00ff !important;
        border-color: #1e00ff !important;
        color: #ffffff !important;
      }

      /* Contact buttons are locked: admin home/city text/primary color will not change their font color. */
      body.city-page .fixed-contact-bar {
        background: #000000 !important;
        background-color: #000000 !important;
      }
      body.city-page .btn.phone,
      body.city-page a.btn.phone,
      body.city-page .fixed-contact-btn.call,
      body.city-page a.fixed-contact-btn.call {
        background: #b0004b !important;
        background-color: #b0004b !important;
        border-color: #b0004b !important;
        color: #ffffff !important;
      }
      body.city-page .btn.whatsapp,
      body.city-page a.btn.whatsapp,
      body.city-page .fixed-contact-btn.whatsapp,
      body.city-page a.fixed-contact-btn.whatsapp {
        background: #075e24 !important;
        background-color: #075e24 !important;
        border-color: #075e24 !important;
        color: #ffffff !important;
      }
      body.city-page .btn.telegram,
      body.city-page a.btn.telegram,
      body.city-page .fixed-contact-btn.telegram,
      body.city-page a.fixed-contact-btn.telegram {
        background: #229ED9 !important;
        background-color: #229ED9 !important;
        border-color: #229ED9 !important;
        color: #ffffff !important;
      }
      body.city-page .fixed-contact-btn {
        flex: 1 1 0 !important;
        width: auto !important;
      }
      body.city-page .btn.phone span,
      body.city-page .btn.whatsapp span,
      body.city-page .btn.telegram span,
      body.city-page .btn.phone svg,
      body.city-page .btn.whatsapp svg,
      body.city-page .btn.telegram svg,
      body.city-page .btn.phone svg *,
      body.city-page .btn.whatsapp svg *,
      body.city-page .btn.telegram svg *,
      body.city-page .btn.phone i,
      body.city-page .btn.whatsapp i,
      body.city-page .btn.telegram i,
      body.city-page .fixed-contact-btn span,
      body.city-page .fixed-contact-btn.call span,
      body.city-page .fixed-contact-btn.whatsapp span,
      body.city-page .fixed-contact-btn.telegram span,
      body.city-page .fixed-contact-btn svg,
      body.city-page .fixed-contact-btn svg *,
      body.city-page .fixed-contact-btn i {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      body.city-page .site-header,
      body.city-page .site-footer,
      body.city-page .city-footer-dropdown,
      body.city-page .city-footer-select,
      body.city-page .gallery-item,
      body.city-page .gallery-grid .gallery-item,
      body.city-page .city-description .gallery-item,
      body.city-page .home-city-description .gallery-item,
      body.city-page .city-shortcode .gallery-item {
        border-color: #1e00ff !important;
      }

      body.city-page .site-header,
      body.city-page .site-footer,
      body.city-page .city-footer-dropdown {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
      }

      body.city-page .site-header,
      body.city-page header.site-header,
      body.city-page .site-header .container,
      body.city-page .site-header .header-bar {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
      }

      body.city-page .city-footer-select,
      body.city-page .city-footer-select option {
        background: #000000 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
        border-color: #1e00ff !important;
      }

      body.city-page .gallery-item,
      body.city-page .gallery-grid .gallery-item,
      body.city-page .city-description .gallery-item,
      body.city-page .home-city-description .gallery-item,
      body.city-page .city-shortcode .gallery-item {
        border: 3px solid #1e00ff !important;
      }

      body.city-page .gallery-img,
      body.city-page .gallery-item img,
      body.city-page .post-image,
      body.city-page .list-thumb,
      body.city-page .card-img {
        border: 0 !important;
      }

      /* ============================================================
         FINAL LOCK (placed last = highest priority):
         Contact button font + icon ALWAYS white, never affected by
         the home/city color picker. Extra :not() chains push the
         specificity ABOVE the content rule (0,5,2) so white wins.
         ============================================================ */
      html body.city-page .fixed-contact-bar:not(#x):not(#y):not(#z),
      html body.city-page .fixed-contact-bar:not(#x):not(#y):not(#z) *,
      html body.city-page .fixed-contact-btn:not(#x):not(#y):not(#z),
      html body.city-page .fixed-contact-btn:not(#x):not(#y):not(#z) *,
      html body.city-page a.fixed-contact-btn:not(#x):not(#y):not(#z),
      html body.city-page a.fixed-contact-btn:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.phone:not(#x):not(#y):not(#z),
      html body.city-page a.btn.phone:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.whatsapp:not(#x):not(#y):not(#z),
      html body.city-page a.btn.whatsapp:not(#x):not(#y):not(#z) *,
      html body.city-page a.btn.telegram:not(#x):not(#y):not(#z),
      html body.city-page a.btn.telegram:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.phone:not(#x):not(#y):not(#z),
      html body.city-page .btn.phone:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.whatsapp:not(#x):not(#y):not(#z),
      html body.city-page .btn.whatsapp:not(#x):not(#y):not(#z) *,
      html body.city-page .btn.telegram:not(#x):not(#y):not(#z),
      html body.city-page .btn.telegram:not(#x):not(#y):not(#z) * {
        color: #ffffff !important;
        fill: #ffffff !important;
      }

      /* 56-city internal-link buttons above the footer */
      body.city-page .city-interlinks {
        width: 100%;
        margin: 18px 0 8px;
        padding: 14px;
        background: #000000 !important;
        background-color: #000000 !important;
        border: 1px solid #1e00ff !important;
        border-radius: 12px;
      }
      body.city-page .city-interlinks-title {
        margin: 0 0 12px !important;
        text-align: center;
        font-size: 18px !important;
        line-height: 1.3 !important;
        font-weight: 800;
        color: #ffffff !important;
      }
      body.city-page .city-interlink-grid {
        display: grid;
        grid-template-columns: repeat(8, minmax(0, 1fr));
        gap: 7px;
      }
      html body.city-page a.city-interlink-btn,
      html body.city-page a.city-interlink-btn:visited,
      html body.city-page a.city-interlink-btn:hover,
      html body.city-page a.city-interlink-btn:focus {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 38px;
        padding: 7px 6px;
        border: 1px solid #ffffff !important;
        border-radius: 8px;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #111111 !important;
        font-size: 12px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
        text-decoration: none !important;
        overflow-wrap: anywhere;
        transition: transform .18s ease, filter .18s ease;
      }
      html body.city-page a.city-interlink-btn:hover,
      html body.city-page a.city-interlink-btn:focus {
        transform: translateY(-1px);
        background: #f2f2f2 !important;
        background-color: #f2f2f2 !important;
        color: #111111 !important;
        filter: none;
      }
      @media (max-width: 900px) {
        body.city-page .city-interlink-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
      }
      @media (max-width: 600px) {
        body.city-page .city-interlinks {
          width: calc(100% + 10px);
          margin-left: -5px;
          margin-right: -5px;
          padding: 10px 5px;
          border-radius: 9px;
        }
        body.city-page .city-interlinks-title { font-size: 16px !important; }
        body.city-page .city-interlink-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 6px;
        }
        html body.city-page a.city-interlink-btn,
        html body.city-page a.city-interlink-btn:visited,
        html body.city-page a.city-interlink-btn:hover,
        html body.city-page a.city-interlink-btn:focus {
          min-height: 36px;
          padding: 7px 5px;
          font-size: 12px;
        }
      }

      /* Final H1 font size: home + city pages */
      html body.city-page h1,
      html body.city-page .page-title,
      html body.city-page .city-head h1,
      html body.city-page .home-city-head h1,
      html body.city-page .city-description h1,
      html body.city-page .home-city-description h1,
      html body.city-page .city-shortcode h1,
      html body.city-page main.container h1,
      html body.city-page h1.brand,
      html body.city-page h1.brand a {
        font-size: 18px !important;
        line-height: 1.35 !important;
      }


