/* Sydney Escorts brand system: Graphite, Emerald, White and Gold. */
:root {
  --se-graphite: #171A1D;
  --se-emerald: #0F6B50;
  --se-background: #F6F8F7;
  --se-gold: #C9A227;
  --se-text: #20262B;
  --se-white: #FFFFFF;
  --se-border: #DDE5E1;
  --se-soft-emerald: #E8F2EE;
  --se-shadow: 0 12px 32px rgba(23, 26, 29, .10);
}

html,
body,
.home-main,
.site-main,
.page-wrap {
  background: var(--se-background) !important;
  color: var(--se-text) !important;
}

body,
button,
input,
select,
textarea {
  color: var(--se-text);
}

a {
  color: var(--se-emerald);
}

a:hover,
a:focus-visible {
  color: var(--se-gold);
}

/* Header and navigation */
.site-header.premium-header,
.site-header.premium-header .premium-header-primary,
.site-header.premium-header .header-nav,
.mobile-premium-header,
.mobile-top-row,
.mobile-bottom-row {
  background: var(--se-graphite) !important;
}

.site-header.premium-header {
  border-top-color: var(--se-gold) !important;
  border-bottom-color: var(--se-emerald) !important;
}

.site-header.premium-header .header-nav {
  border-top-color: rgba(201, 162, 39, .72) !important;
  border-bottom-color: var(--se-emerald) !important;
}

.site-header.premium-header .header-nav a,
.mobile-premium-header a,
.mobile-menu-btn,
.mobile-search-icon,
.mobile-theme-toggle,
.mobile-cc-toggle {
  color: var(--se-white) !important;
}

.site-header.premium-header .header-nav a:hover,
.site-header.premium-header .header-nav a:focus-visible,
.site-header.premium-header .header-nav .current-menu-item > a {
  border-bottom-color: var(--se-gold) !important;
  background: rgba(15, 107, 80, .38) !important;
  color: var(--se-white) !important;
}

.site-header.premium-header .header-ad,
.site-header.premium-header .header-search input {
  border-color: rgba(201, 162, 39, .62) !important;
  background: #202428 !important;
  color: var(--se-white) !important;
}

.site-header.premium-header .header-ad-placeholder {
  background: linear-gradient(125deg, var(--se-graphite), #123C31 62%, var(--se-emerald)) !important;
}

.site-header.premium-header .header-ad-placeholder strong {
  color: var(--se-gold) !important;
}

.site-header.premium-header .header-auth .btn-auth,
.mobile-login-btn {
  border-color: var(--se-gold) !important;
  background: transparent !important;
  color: var(--se-white) !important;
}

.site-header.premium-header .header-auth .btn-register,
.site-header.premium-header .header-auth .btn-contact,
.mobile-login-btn:hover,
.mobile-login-btn:focus-visible {
  border-color: var(--se-emerald) !important;
  background: var(--se-emerald) !important;
  color: var(--se-white) !important;
}

.site-header.premium-header .header-auth .btn-auth:hover,
.site-header.premium-header .header-auth .btn-auth:focus-visible {
  border-color: var(--se-gold) !important;
  background: var(--se-gold) !important;
  color: var(--se-graphite) !important;
}

/* Hero, headings and primary calls to action */
.fp-hero,
.location-hero,
.city-directory-page .city-hero.location-hero,
.directory-hero,
.tour-directory-hero {
  border-color: rgba(201, 162, 39, .55) !important;
  background: linear-gradient(128deg, var(--se-graphite) 0%, #123C31 60%, var(--se-emerald) 100%) !important;
  box-shadow: var(--se-shadow) !important;
}

.fp-hero h1,
.fp-hero p,
.location-hero h1,
.location-hero p,
.location-kicker,
.fp-kicker {
  color: var(--se-white) !important;
}

.fp-kicker,
.location-kicker,
.fp-section-kicker,
.fp-card-label {
  color: var(--se-gold) !important;
}

.block-title,
.section-heading,
.sx-section-title,
.directory-head h1,
.content-card h2,
.content-card h3,
.fp-seo-content h2,
.fp-seo-content h3 {
  color: var(--se-text) !important;
}

.block-title,
.section-heading,
.sx-section-title {
  border-left-color: var(--se-emerald) !important;
  border-bottom-color: var(--se-gold) !important;
}

.fp-primary-btn,
.sx-btn.primary,
.select-package,
button[type="submit"],
input[type="submit"],
.btn-register,
.btn-primary,
.button-primary {
  border-color: var(--se-emerald) !important;
  background: var(--se-emerald) !important;
  color: var(--se-white) !important;
}

.fp-primary-btn:hover,
.fp-primary-btn:focus-visible,
.sx-btn.primary:hover,
.select-package:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.btn-primary:hover {
  border-color: var(--se-gold) !important;
  background: var(--se-gold) !important;
  color: var(--se-graphite) !important;
}

.fp-secondary-btn,
.btn-secondary {
  border-color: var(--se-gold) !important;
  background: transparent !important;
  color: var(--se-gold) !important;
}

.fp-secondary-btn:hover,
.fp-secondary-btn:focus-visible,
.btn-secondary:hover {
  background: var(--se-gold) !important;
  color: var(--se-graphite) !important;
}

/* Cards, content and directory controls */
.escort-card,
.mini-profile,
.content-card,
.fp-feature-card,
.fp-seo-content article,
.fp-seo-wide-card,
.fp-seo-benefits article,
.location-content,
.cc-strip,
.cc-strip .cc-cities,
.sidebar-section,
.widget,
.sx-package-card {
  border-color: var(--se-border) !important;
  background: var(--se-white) !important;
  color: var(--se-text) !important;
}

.escort-card:hover,
.mini-profile:hover,
.sx-package-card:hover {
  border-color: var(--se-gold) !important;
  box-shadow: var(--se-shadow) !important;
}

.escort-card .meta-header,
.escort-card .meta-bottom,
.fp-card-commerce {
  border-color: var(--se-border) !important;
}

.escort-card .meta-location,
.cc-strip .cc-city,
.cc-strip .cc-country-select,
.location-chip,
.filter-chip {
  border-color: var(--se-emerald) !important;
}

.cc-strip .cc-city:hover,
.location-chip:hover,
.filter-chip:hover,
.filter-chip.active {
  background: var(--se-soft-emerald) !important;
  color: var(--se-emerald) !important;
}

.cc-strip .cc-count,
.badge-premium,
.premium-badge {
  background: var(--se-gold) !important;
  color: var(--se-graphite) !important;
}

.fp-register-cta,
.fp-seo-final-cta,
.fp-accent-card {
  border-color: rgba(201, 162, 39, .55) !important;
  background: linear-gradient(125deg, var(--se-graphite), #123C31 68%, var(--se-emerald)) !important;
  color: var(--se-white) !important;
}

.fp-register-cta h2,
.fp-register-cta p,
.fp-seo-final-cta h3,
.fp-seo-final-cta p,
.fp-accent-card h3,
.fp-accent-card p {
  color: var(--se-white) !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline-color: var(--se-gold) !important;
  border-color: var(--se-emerald) !important;
}

/* Footer */
.site-footer.premium-footer,
.site-footer.premium-footer.compact-premium-footer,
.premium-footer .footer-inner,
.premium-footer .footer-bottom {
  background: var(--se-graphite) !important;
  color: var(--se-white) !important;
}

.premium-footer {
  border-top-color: var(--se-gold) !important;
}

.premium-footer h4,
.premium-footer .footer-badges span {
  color: var(--se-gold) !important;
}

.fp-profile-pagination {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 26px auto 8px !important;
}

.fp-profile-pagination .page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 8px 13px !important;
  border: 1px solid var(--se-emerald) !important;
  border-radius: 8px !important;
  background: var(--se-white) !important;
  color: var(--se-emerald) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.fp-profile-pagination .page-numbers.current,
.fp-profile-pagination .page-numbers:hover,
.fp-profile-pagination .page-numbers:focus-visible {
  border-color: var(--se-gold) !important;
  background: var(--se-emerald) !important;
  color: var(--se-white) !important;
}

.premium-footer p,
.premium-footer li,
.premium-footer ul a,
.premium-footer .footer-bottom,
.premium-footer .footer-bottom a {
  color: #E7ECE9 !important;
}

.premium-footer ul a:hover,
.premium-footer .footer-bottom a:hover {
  background: rgba(15, 107, 80, .34) !important;
  color: var(--se-gold) !important;
}

.premium-footer .footer-badges span {
  border-color: rgba(201, 162, 39, .55) !important;
  background: rgba(201, 162, 39, .08) !important;
}

@media (max-width: 991px) {
  .mobile-premium-header {
    border-top: 2px solid var(--se-gold) !important;
    border-bottom: 2px solid var(--se-emerald) !important;
  }

  .mobile-cc-dropdown,
  .global-drawer {
    border-color: var(--se-gold) !important;
    background: var(--se-graphite) !important;
  }
}
