/* Site-wide warm burnt-orange theme inspired by the supplied reference.
   Main canvas: deep burnt orange; text: warm white; content cards: ivory with dark text. */
:root {
  --site-bg: #782807;
  --site-bg-deep: #260b05;
  --site-bg-soft: #8f360b;
  --site-text: #fff8f0;
  --site-muted: #f0d9c8;
  --site-card: #fff8ef;
  --site-card-text: #2c1a13;
  --site-accent: #ffb36b;
  --site-border: rgba(255, 248, 240, .28);
}
html { background: var(--site-bg); scroll-behavior: smooth; }
body,
.page-wrapper,
.content-sec,
.services-section,
.rates-section,
.reviews-section,
.faq-section,
.map-section,
section,
main {
  background-color: var(--site-bg) !important;
  color: var(--site-text) !important;
}
body {
  background-image: linear-gradient(135deg, var(--site-bg) 0%, #682006 58%, var(--site-bg-deep) 100%) !important;
  background-attachment: fixed !important;
  color: var(--site-text) !important;
}
/* Header navigation */
header:not(.hero-banner), .header-wrap, .header-bottom, .main-menu-wrap {
  background: var(--site-bg-deep) !important;
  color: var(--site-text) !important;
}
header:not(.hero-banner) a, .main-menu a, .header-wrap a,
.mobile-menu a, .menu-close a { color: var(--site-text) !important; }
header:not(.hero-banner) a:hover, .main-menu a:hover { color: var(--site-accent) !important; }
/* Keep the hero artwork, but use a warm dark overlay for readable white text. */
.hero-banner {
  background-color: var(--site-bg-deep) !important;
  background-blend-mode: luminosity;
  position: relative;
}
.hero-banner .banner-overlay {
  background: linear-gradient(90deg, rgba(87, 28, 4, .78), rgba(25, 7, 3, .72)) !important;
}
.hero-banner h1, .hero-banner h2, .hero-banner p,
.banner-content, .main-text, .sub-text, .price-text { color: #fff8f0 !important; }
/* All normal text and headings use strong contrast against the dark canvas. */
h1, h2, h3, h4, h5, h6, .section-title, .section-subtitle,
.content h2, .content h3, .content p, .content li,
section p, section li, .disclaimer-small { color: var(--site-text) !important; }
a { color: var(--site-accent) !important; }
a:hover, a:focus { color: #ffffff !important; }
/* Profile, pricing, service, FAQ and review cards use ivory surfaces and dark text. */
.box, .service-card, .pricing-table, .review-card, .faq-item,
.faq-question, .faq-answer, .contact-info, .member-info-wrap,
.map-wrapper, .services-grid .service-card,
.reviews-grid .review-card, .rates-section .pricing-table {
  background: var(--site-card) !important;
  color: var(--site-card-text) !important;
  border-color: rgba(44, 26, 19, .22) !important;
}
.box p, .box h2, .box h3, .box h4, .box span, .box li,
.service-card p, .service-card h3, .service-card h4,
.pricing-table p, .pricing-table li, .pricing-table h3,
.review-card p, .review-card h3, .reviewer, .review-text,
.faq-item p, .faq-question, .faq-answer, .contact-info p,
.member-info-wrap p, .member-name {
  color: var(--site-card-text) !important;
}
/* Images remain unchanged; borders fit the warm palette. */
.escort-images .box, .img-box, .member-img { border-color: #4a2114 !important; }
img { border-color: rgba(255, 248, 240, .18); }
/* Buttons and calls to action */
.btn, button, input[type="submit"], .fc-btn,
.primary-button, .pricing-table a, .faq-icon {
  background: var(--site-accent) !important;
  color: #2c160c !important;
  border-color: var(--site-accent) !important;
}
.btn:hover, button:hover, input[type="submit"]:hover, .fc-btn:hover {
  background: #fff8ef !important;
  color: #682006 !important;
  border-color: #fff8ef !important;
}
.fc-wrap .fc-btn.fc-wa { background: #18794e !important; color: #fff !important; border-color: #18794e !important; }
.fc-wrap .fc-btn.fc-call { background: var(--site-accent) !important; color: #2c160c !important; }
/* Inputs */
input, textarea, select, .form-control {
  background: #fff8ef !important;
  color: #2c1a13 !important;
  border-color: #d9bba5 !important;
}
input::placeholder, textarea::placeholder { color: #77675e !important; }
/* Footer is the deepest shade, with warm readable links. */
.main-footer, .footer-bottom, .footer-container {
  background: var(--site-bg-deep) !important;
  color: var(--site-text) !important;
}
.main-footer h1, .main-footer h2, .main-footer h3, .main-footer p,
.main-footer li, .main-footer span, .main-footer a,
.footer-bottom, .footer-bottom p, .footer-container p { color: var(--site-text) !important; }
.main-footer a:hover, .footer-bottom a:hover { color: var(--site-accent) !important; }
/* Remove accidental light/black section panels while preserving ivory cards. */
.bg-white, .bg-albastor, .bg-russian, .td-black, .td-aztech,
[class*="section-wrap"], .container-fluid {
  background-color: transparent !important;
}
@media (max-width: 767px) {
  body { background-attachment: scroll !important; }
  .hero-banner .banner-overlay { background: rgba(75, 24, 4, .78) !important; }
  .box, .service-card, .pricing-table, .review-card, .faq-item { margin-bottom: 16px; }
}

/* Section-by-section contrast corrections based on the latest screenshots. */
:root {
  --site-bg: #782807;
  --site-bg-deep: #260b05;
  --site-text: #fff8f0;
  --site-card: #fff8ef;
  --site-card-text: #2c1a13;
  --site-accent: #ffb36b;
}
/* Profile gallery cards: ivory content panels with readable dark text. */
.escort-images .box,
.escort-images .box .text,
.escort-images .box .icons,
.escort-images .box .member-info,
.escort-images .box .member-info-wrap {
  background: #fff8ef !important;
  color: #2c1a13 !important;
}
.escort-images .box p,
.escort-images .box h2,
.escort-images .box h3,
.escort-images .box h4,
.escort-images .box span,
.escort-images .box strong,
.escort-images .box a:not(.fc-btn) {
  color: #2c1a13 !important;
}
.escort-images .box { border: 1px solid #d7b49c !important; border-radius: 10px !important; overflow: hidden; }
.escort-images .box .icons a { color: #fff8ef !important; }
/* Premium services: warm dark canvas, ivory cards, dark card copy and amber icons. */
.services-section,
.rates-section,
.map-section,
.reviews-section,
.faq-section,
.contact-section {
  background: #782807 !important;
  color: #fff8f0 !important;
}
.services-section .section-title,
.rates-section .section-title,
.map-section .section-title,
.reviews-section .section-title,
.faq-section .section-title,
.contact-section .section-title,
.services-section .section-subtitle,
.map-section .section-subtitle {
  color: #fff8f0 !important;
}
.services-section .service-card,
.services-section .services-grid .service-card {
  background: #fff8ef !important;
  color: #2c1a13 !important;
  border: 1px solid #e2c8b5 !important;
  box-shadow: 0 8px 22px rgba(38,11,5,.16) !important;
}
.services-section .service-card h3,
.services-section .service-card p,
.services-section .service-card span,
.services-section .service-card li {
  color: #2c1a13 !important;
}
.services-section .service-icon,
.services-section .service-icon i { color: #8f2e16 !important; }
/* Pricing table: no white text on cream rows. Keep header dark with white labels. */
.rates-section .pricing-table { background: #fff8ef !important; color: #2c1a13 !important; overflow-x: auto; }
.rates-section .pricing-table table { width: 100%; background: #fff8ef !important; border-collapse: collapse; color: #2c1a13 !important; }
.rates-section .pricing-table thead,
.rates-section .pricing-table thead tr,
.rates-section .pricing-table th { background: #4b160b !important; color: #fff8f0 !important; }
.rates-section .pricing-table td,
.rates-section .pricing-table tbody tr,
.rates-section .pricing-table tbody tr td,
.rates-section .pricing-table td strong { background: #fff8ef !important; color: #2c1a13 !important; }
.rates-section .pricing-table th,
.rates-section .pricing-table td { padding: 14px 16px !important; border-bottom: 1px solid #e4cbbb !important; }
.rates-section .pricing-table tbody tr:nth-child(even) td { background: #f5e7d9 !important; }
/* Reviews and FAQ cards use light surfaces and dark text for contrast. */
.reviews-section .review-card,
.reviews-section .review-card p,
.reviews-section .review-card h3,
.reviews-section .review-card h4,
.reviews-section .review-card small,
.faq-section .faq-item,
.faq-section .faq-item p,
.faq-section .faq-item h3,
.faq-section .faq-item button,
.faq-section .faq-answer {
  background-color: #fff8ef !important;
  color: #2c1a13 !important;
}
/* Keep the map itself visible; only its outer frame follows the palette. */
.map-section .map-wrapper { background: #fff8ef !important; border: 3px solid #e2c8b5 !important; border-radius: 16px !important; overflow: hidden; }
/* All other light cards and forms must keep dark readable copy. */
.pricing-table, .service-card, .review-card, .faq-item, .contact-info,
input, textarea, select, .form-control { color: #2c1a13 !important; }

/* Latest screenshot fixes: gallery text contrast and footer palette. */
.escort-images .box,
.escort-images .box .text,
.escort-images .box .icons {
  background-color: #fff8ef !important;
}
.escort-images .box .text,
.escort-images .box .text p,
.escort-images .box .text h1,
.escort-images .box .text h2,
.escort-images .box .text h3,
.escort-images .box .text h4,
.escort-images .box .text span,
.escort-images .box .text strong {
  color: #2c1a13 !important;
}
.escort-images .box .text p {
  opacity: 1 !important;
  text-shadow: none !important;
}
.escort-images .box .icons {
  border-top: 1px solid #ead5c4 !important;
}

/* Footer uses the same warm site background with high-contrast ivory text. */
.main-footer,
.main-footer .footer-container,
.main-footer .footer-bottom {
  background: #782807 !important;
  color: #fff8f0 !important;
}
.main-footer h1,
.main-footer h2,
.main-footer h3,
.main-footer h4,
.main-footer p,
.main-footer li,
.main-footer .disclaimer-small,
.main-footer .footer-bottom p {
  color: #fff8f0 !important;
}
.main-footer a,
.main-footer .footer-col ul li a {
  color: #fff8f0 !important;
}
.main-footer a:hover,
.main-footer .footer-col ul li a:hover {
  color: #ffcf9e !important;
}
.main-footer .contact-info {
  background: #fff8ef !important;
  color: #2c1a13 !important;
  border: 1px solid #e2c8b5 !important;
  border-radius: 8px !important;
}
.main-footer .contact-info a,
.main-footer .contact-info span,
.main-footer .contact-info center,
.main-footer .contact-info i {
  color: #2c1a13 !important;
}
.main-footer .contact-info i {
  color: #8f2e16 !important;
}

/* Final contrast pass: contact area matches the site footer palette. */
.contact-section,
#contact,
section.contact-us,
.contact-area,
.contact-us-section {
  background-color: #782807 !important;
  color: #fff8ef !important;
}
.contact-section h1, .contact-section h2, .contact-section h3,
#contact h1, #contact h2, #contact h3,
section.contact-us h1, section.contact-us h2, section.contact-us h3,
.contact-area h1, .contact-area h2, .contact-area h3,
.contact-us-section h1, .contact-us-section h2, .contact-us-section h3,
.contact-section p, #contact p, section.contact-us p,
.contact-area p, .contact-us-section p,
.contact-section label, #contact label,
.contact-section a, #contact a {
  color: #fff8ef !important;
}
.contact-section .contact-info,
#contact .contact-info,
section.contact-us .contact-info,
.contact-area .contact-info,
.contact-us-section .contact-info {
  background: #fff8ef !important;
  color: #2c1a13 !important;
  border: 1px solid #e2c8b5 !important;
}
.contact-section .contact-info *,
#contact .contact-info *,
section.contact-us .contact-info *,
.contact-area .contact-info *,
.contact-us-section .contact-info * {
  color: #2c1a13 !important;
}

/* Gallery/team cards: fix white text that was disappearing on ivory panels. */
.team-card,
.team-card.style1,
.team-card.style1 .team-info,
.team-card.style1 .team-content,
.team-card.style1 .team-info-wrap,
.team-card.style1 .team-details,
.team-card.style1 .team-text {
  background-color: #fff8ef !important;
  color: #2c1a13 !important;
}
.team-card.style1 h1, .team-card.style1 h2, .team-card.style1 h3,
.team-card.style1 h4, .team-card.style1 h5, .team-card.style1 p,
.team-card.style1 span, .team-card.style1 small,
.team-card.style1 strong, .team-card.style1 a,
.team-card.style1 .age, .team-card.style1 .designation,
.team-card.style1 .team-info * {
  color: #2c1a13 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.team-card.style1 .team-info,
.team-card.style1 .team-content,
.team-card.style1 .team-details {
  border-color: #ead5c4 !important;
}


/* FINAL FIX: make the Contact Us footer column match the footer's deep-brown background. */
.main-footer {
  background: #782807 !important;
  background-image: none !important;
  color: #fff8f0 !important;
}
.main-footer .footer-container > .footer-col:last-child {
  background: #260b05 !important;
  color: #fff8f0 !important;
  padding: 18px 14px !important;
  border-radius: 10px !important;
}
.main-footer .footer-container > .footer-col:last-child h1,
.main-footer .footer-container > .footer-col:last-child h2,
.main-footer .footer-container > .footer-col:last-child h3,
.main-footer .footer-container > .footer-col:last-child h4,
.main-footer .footer-container > .footer-col:last-child p,
.main-footer .footer-container > .footer-col:last-child a {
  color: #fff8f0 !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info {
  background: #fff8ef !important;
  color: #2c1a13 !important;
  border: 1px solid #e2c8b5 !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info a,
.main-footer .footer-container > .footer-col:last-child .contact-info span,
.main-footer .footer-container > .footer-col:last-child .contact-info i {
  color: #8f2e16 !important;
}
.main-footer .footer-bottom {
  background: #782807 !important;
  color: #fff8f0 !important;
}

/* Explicit final override requested: Contact Us footer section uses #782807. */
.main-footer .footer-container > .footer-col:last-child {
  background-color: #782807 !important;
  background-image: none !important;
  color: #fff8ef !important;
}
.main-footer .footer-container > .footer-col:last-child h1,
.main-footer .footer-container > .footer-col:last-child h2,
.main-footer .footer-container > .footer-col:last-child h3,
.main-footer .footer-container > .footer-col:last-child h4,
.main-footer .footer-container > .footer-col:last-child p,
.main-footer .footer-container > .footer-col:last-child > a,
.main-footer .footer-container > .footer-col:last-child li,
.main-footer .footer-container > .footer-col:last-child i:not(.contact-info i) {
  color: #fff8ef !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info {
  background-color: #fff8ef !important;
  color: #2c1a13 !important;
  border: 1px solid #e2c8b5 !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info a,
.main-footer .footer-container > .footer-col:last-child .contact-info span,
.main-footer .footer-container > .footer-col:last-child .contact-info i {
  color: #782807 !important;
}

/* FINAL CONTACT US REQUEST: #782807 background with white text and white icons. */
.main-footer .footer-container > .footer-col:last-child,
.main-footer .footer-container > .footer-col:last-child .contact-info {
  background: #782807 !important;
  background-color: #782807 !important;
  background-image: none !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.35) !important;
}
.main-footer .footer-container > .footer-col:last-child,
.main-footer .footer-container > .footer-col:last-child h1,
.main-footer .footer-container > .footer-col:last-child h2,
.main-footer .footer-container > .footer-col:last-child h3,
.main-footer .footer-container > .footer-col:last-child h4,
.main-footer .footer-container > .footer-col:last-child p,
.main-footer .footer-container > .footer-col:last-child a,
.main-footer .footer-container > .footer-col:last-child span,
.main-footer .footer-container > .footer-col:last-child li,
.main-footer .footer-container > .footer-col:last-child i,
.main-footer .footer-container > .footer-col:last-child svg,
.main-footer .footer-container > .footer-col:last-child .contact-info,
.main-footer .footer-container > .footer-col:last-child .contact-info * {
  color: #ffffff !important;
  fill: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}


/* FINAL REFERENCE-MATCH CONTACT US CARD: orange section, ivory details panel. */
.main-footer .footer-container > .footer-col:last-child {
  background: #782807 !important;
  background-color: #782807 !important;
  background-image: none !important;
  color: #ffffff !important;
  padding: 0 10px 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.main-footer .footer-container > .footer-col:last-child h4 {
  color: #ffffff !important;
  text-align: center !important;
  margin: 0 0 24px !important;
  font-size: 1.6rem !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 410px !important;
  min-height: 118px !important;
  margin: 0 auto !important;
  padding: 10px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: #fff8ef !important;
  background-color: #fff8ef !important;
  background-image: none !important;
  border: 1px solid #e2c8b5 !important;
  border-radius: 12px !important;
  color: #2c1a13 !important;
  box-shadow: none !important;
  line-height: 1.45 !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  color: #2c1a13 !important;
  font-size: 1.25rem !important;
  line-height: 1.4 !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info a,
.main-footer .footer-container > .footer-col:last-child .contact-info span {
  color: #2c1a13 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info i {
  color: #782807 !important;
  fill: #782807 !important;
  width: 22px !important;
  flex: 0 0 22px !important;
  text-align: center !important;
}
@media (max-width: 600px) {
  .main-footer .footer-container > .footer-col:last-child h4 { margin-bottom: 16px !important; }
  .main-footer .footer-container > .footer-col:last-child .contact-info center { font-size: 1rem !important; }
}

/* Contact Us: force all contact text and icons to white on burgundy background */
.main-footer .footer-container > .footer-col:last-child,
.main-footer .footer-container > .footer-col:last-child h4,
.main-footer .footer-container > .footer-col:last-child p,
.main-footer .footer-container > .footer-col:last-child .contact-info,
.main-footer .footer-container > .footer-col:last-child .contact-info center,
.main-footer .footer-container > .footer-col:last-child .contact-info a,
.main-footer .footer-container > .footer-col:last-child .contact-info span,
.main-footer .footer-container > .footer-col:last-child .contact-info i {
  color: #FFFFFF !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info {
  background: transparent !important;
  border-color: rgba(255,255,255,.35) !important;
}
.main-footer .footer-container > .footer-col:last-child .contact-info i {
  fill: #FFFFFF !important;
}
