
/* Mexico inspired theme override */
:root{
  --mx-sand:#f6efe4;
  --mx-terracotta:#cb6d51;
  --mx-turquoise:#1f9e9a;
  --mx-ocean:#0f4c5c;
  --mx-sun:#f2b95d;
  --mx-night:#16313a;
}
body.mexico-theme-body{background:linear-gradient(180deg,#fffaf5 0%,#f7f1e8 100%);color:#2a2f33}
.mexico-topbar{background:linear-gradient(90deg,var(--mx-terracotta),var(--mx-sun),var(--mx-turquoise));color:#fff;font-size:13px;padding:10px 0}
.mexico-topbar .container{display:flex;gap:16px}
.mexico-topbar-right{display:flex;gap:18px;align-items:center}
.mexico-header .navigation{border-radius:0 0 18px 18px;box-shadow:0 10px 30px rgba(22,49,58,.08)}
.mexico-header .nav-brand img.logo{filter:drop-shadow(0 6px 16px rgba(0,0,0,.08))}
.mexico-nav-cta{display:flex;align-items:center;margin-left:18px}
.mexico-btn,.mexico-btn-solid,.mexico-btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:999px;font-weight:700;transition:.25s ease;text-decoration:none!important}
.mexico-btn-solid{background:linear-gradient(135deg,var(--mx-terracotta),#e08d59);color:#fff!important;box-shadow:0 14px 28px rgba(203,109,81,.25)}
.mexico-btn-solid:hover{transform:translateY(-1px);color:#fff!important}
.mexico-btn-outline{border:2px solid var(--mx-turquoise);color:var(--mx-ocean)!important;background:rgba(255,255,255,.72);backdrop-filter:blur(5px)}
.mexico-btn-outline.light{border-color:#fff;color:#fff!important;background:transparent}
.mexico-hero{position:relative;min-height:620px;display:flex;align-items:center;background-position:center;background-size:cover}
.mexico-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,76,92,.75),rgba(203,109,81,.55) 50%,rgba(242,185,93,.30))}
.mexico-hero .container,.mexico-hero .col-md-12{position:relative;z-index:2}
.mexico-hero-caption{max-width:980px;margin:0 auto}
.mexico-kicker{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);padding:10px 16px;border-radius:999px;margin-bottom:18px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.mexico-hero-caption h2{font-size:56px;line-height:1.08;font-weight:800;text-shadow:0 10px 28px rgba(0,0,0,.15)}
.mexico-hero-caption p{font-size:18px;max-width:760px;margin:16px auto 0;color:#f8f5ef}
.mexico-hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.mexico-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:760px;margin:34px auto 0}
.mexico-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(6px);border-radius:22px;padding:18px 20px}
.mexico-stat strong{display:block;color:#fff;font-size:22px}
.mexico-stat span{display:block;color:#eef3f2;font-size:14px}
.mexico-search-wrap{margin-top:-54px;position:relative;z-index:5}
.mexico-search-form{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,248,241,.98));border:1px solid rgba(203,109,81,.16);box-shadow:0 18px 45px rgba(15,76,92,.12);border-radius:28px;padding:22px}
.mexico-search-form .form-group label{color:var(--mx-ocean);font-weight:700}
.btn-theme,.button.btn.btn-theme,.theme-bg{background:linear-gradient(135deg,var(--mx-turquoise),var(--mx-ocean))!important;border:none!important}
.btn-theme:hover{opacity:.95}
.ozel-buton .mlw-btn{border-radius:999px;padding:14px 26px;box-shadow:0 10px 24px rgba(15,76,92,.15)}
.mexico-page-title,.page-title{background:linear-gradient(120deg,var(--mx-ocean),#256f73 45%,var(--mx-terracotta));border-radius:0 0 32px 32px}
.mexico-listing-page .property_item,.property_item{border-radius:24px;overflow:hidden;box-shadow:0 14px 34px rgba(22,49,58,.08);border:1px solid rgba(15,76,92,.06)}
.mexico-listing-page .property_item .property-body{background:#fffdf9}
.mexico-detail-top{background:linear-gradient(180deg,#fff9f1 0%,#f9efe3 100%)}
.mexico-detail-card{position:relative;background:#fff;border-radius:28px;padding:24px;box-shadow:0 18px 44px rgba(22,49,58,.09)}
.mexico-detail-badge{display:inline-block;background:linear-gradient(135deg,var(--mx-sun),#ef8d5c);color:#16313a;border-radius:999px;padding:10px 16px;font-weight:800;letter-spacing:.04em;margin-bottom:16px}
.singles_item{border-radius:20px;background:linear-gradient(180deg,#fff,#fff8ef);padding:16px;border:1px solid rgba(203,109,81,.14)}
.mexico-newsletter{background:linear-gradient(90deg,var(--mx-ocean),var(--mx-turquoise),var(--mx-sun));position:relative;overflow:hidden}
.mexico-newsletter:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.15),transparent 30%),radial-gradient(circle at 80% 40%,rgba(255,255,255,.12),transparent 26%)}
.mexico-newsletter .container{position:relative;z-index:1}
.mexico-footer{background:linear-gradient(180deg,#16313a 0%,#0f2228 100%)}
.mexico-footer-badge{display:inline-block;background:rgba(242,185,93,.12);border:1px solid rgba(242,185,93,.28);color:#ffd895;padding:8px 14px;border-radius:999px;margin-bottom:14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.footer-menu li a:hover,.footer-bottom-social li a:hover{color:var(--mx-sun)!important}
.wtsol .heart a,.heart.wtsol a{filter:drop-shadow(0 10px 20px rgba(0,0,0,.16))}
@media (max-width: 991px){
  .mexico-topbar .container{flex-direction:column;align-items:flex-start}
  .mexico-topbar-right{gap:10px;flex-wrap:wrap}
  .mexico-nav-cta{display:none}
  .mexico-hero{min-height:560px}
  .mexico-hero-caption h2{font-size:38px}
  .mexico-stat-row{grid-template-columns:1fr;max-width:420px}
  .mexico-search-wrap{margin-top:-30px}
}
@media (max-width: 575px){
  .mexico-kicker{font-size:11px;letter-spacing:.08em}
  .mexico-hero-caption h2{font-size:30px}
  .mexico-hero-caption p{font-size:15px}
  .mexico-search-form{padding:16px;border-radius:20px}
}


/* =======================
   FOOTER - ULTRA LUXURY
======================= */

.mexico-newsletter{
  margin-top: 70px;
  padding: 56px 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.14), transparent 28%),
    radial-gradient(circle at 85% 35%, rgba(255,255,255,.10), transparent 22%),
    linear-gradient(90deg, var(--mx-ocean), var(--mx-turquoise), var(--mx-sun));
  border-radius: 36px 36px 0 0;
  position: relative;
  overflow: hidden;
}

.mexico-newsletter .container{
  position: relative;
  z-index: 2;
}

.mexico-newsletter-content h3{
  font-size: 38px;
  line-height: 1.08;
  font-weight: 800;
  margin-bottom: 10px;
}

.mexico-newsletter-content p{
  color: rgba(255,255,255,.84);
  font-size: 16px;
}

.mexico-newsletter-form .input-group{
  background: rgba(255,255,255,.18);
  padding: 8px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  box-shadow: 0 20px 45px rgba(15,76,92,.18);
}

.mexico-newsletter-form .form-control{
  height: 58px;
  border: none !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  padding: 0 20px;
  font-size: 15px;
}

.mexico-newsletter-form .btn{
  min-height: 58px;
  padding: 0 26px;
  border-radius: 999px !important;
  white-space: nowrap;
}

.mexico-footer{
  background:
    radial-gradient(circle at 12% 18%, rgba(242,185,93,.06), transparent 24%),
    radial-gradient(circle at 86% 10%, rgba(31,158,154,.08), transparent 20%),
    linear-gradient(180deg, #16313a 0%, #0f2228 100%);
  padding-top: 84px;
  position: relative;
  overflow: hidden;
}

.mexico-footer .container{
  position: relative;
  z-index: 2;
}

.mexico-footer-brand{
  padding-right: 30px;
}

.mexico-footer-badge{
  display: inline-block;
  background: rgba(242,185,93,.14);
  border: 1px solid rgba(242,185,93,.28);
  color: #ffd895;
  padding: 8px 15px;
  border-radius: 999px;
  margin-bottom: 16px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
}

.mexico-footer .widget-title{
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 20px;
  position: relative;
}

.mexico-footer .widget-title:after{
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  border-radius: 999px;
  margin-top: 10px;
  background: linear-gradient(90deg, var(--mx-sun), var(--mx-terracotta));
}

.mexico-footer p{
  color: rgba(255,255,255,.72);
  line-height: 1.85;
}

.mexico-footer-contact-list{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mexico-footer-contact-item{
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.mexico-footer-contact-item span{
  display: block;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  margin-bottom: 6px;
}

.mexico-footer-contact-item a,
.mexico-footer-contact-item div{
  color: #fff;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1.7;
}

.footer-menu{
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu li{
  margin-bottom: 12px;
}

.footer-menu li a{
  display: inline-flex;
  align-items: center;
  color: rgba(255,255,255,.76);
  text-decoration: none !important;
  transition: .25s ease;
  font-weight: 500;
}

.footer-menu li a:before{
  content: "•";
  color: var(--mx-sun);
  margin-right: 10px;
  font-size: 16px;
}

.footer-menu li a:hover{
  color: #fff !important;
  transform: translateX(4px);
}

.footer-bottom{
  margin-top: 28px;
  padding: 24px 0;
  border-top: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.12);
}

.footer-bottom p{
  color: rgba(255,255,255,.66);
}

.footer-bottom-social{
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.footer-bottom-social li{
  margin: 0;
}

.footer-bottom-social li a{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
  transition: .25s ease;
}

.footer-bottom-social li a:hover{
  transform: translateY(-3px);
  background: linear-gradient(135deg, var(--mx-sun), var(--mx-terracotta));
  color: #16313a !important;
}

@media (max-width: 991px){
  .mexico-newsletter{
    border-radius: 24px 24px 0 0;
    padding: 40px 0;
  }

  .mexico-newsletter-content h3{
    font-size: 28px;
  }

  .mexico-footer{
    padding-top: 64px;
  }

  .mexico-footer-brand{
    padding-right: 0;
  }
}

@media (max-width: 575px){
  .mexico-newsletter-form .input-group{
    display: block;
    border-radius: 24px;
    padding: 12px;
  }

  .mexico-newsletter-form .form-control{
    margin-bottom: 10px;
    width: 100%;
  }

  .mexico-newsletter-form .input-group-append,
  .mexico-newsletter-form .btn{
    width: 100%;
  }

  .footer-bottom{
    text-align: center;
  }

  .footer-bottom-social{
    justify-content: center;
    margin-top: 10px;
  }
}


/* =======================
   FOOTER LUXURY
======================= */

.mexico-newsletter{
	padding:60px 0;
	background:linear-gradient(90deg,#1f9e9a,#f2b95d);
	border-radius:30px 30px 0 0;
	color:#fff;
}

.mexico-newsletter h3{
	font-size:32px;
	font-weight:800;
}

.mexico-newsletter-form .input-group{
	display:flex;
	background:#fff;
	border-radius:999px;
	overflow:hidden;
}

.mexico-newsletter-form input{
	flex:1;
	border:none;
	padding:15px;
}

.mexico-newsletter-form button{
	background:#000;
	color:#fff;
	border:none;
	padding:0 25px;
}

/* FOOTER */

.mexico-footer{
	background:#0f172a;
	padding:80px 0 0;
	color:#fff;
}

.mexico-footer h3{
	font-size:26px;
	font-weight:800;
}

.mexico-footer h4{
	font-size:16px;
	font-weight:700;
	margin-bottom:15px;
}

.mexico-footer p{
	color:#bbb;
}

.mexico-footer ul{
	list-style:none;
	padding:0;
}

.mexico-footer ul li{
	margin-bottom:10px;
}

.mexico-footer ul li a{
	color:#ccc;
	text-decoration:none;
}

.mexico-footer ul li a:hover{
	color:#f2b95d;
}

.footer-contact{
	margin-top:20px;
	color:#fff;
}

.mexico-footer-badge{
	display:inline-block;
	padding:5px 12px;
	background:#f2b95d33;
	border-radius:20px;
	margin-bottom:10px;
}

/* ALT BAR */

.footer-bottom{
	background:#020617;
	padding:20px 0;
	margin-top:40px;
}

.footer-bottom .social a{
	color:#fff;
	margin-left:10px;
	font-size:18px;
}