/* ============================================================
   GRABAVILLA THEME v3 — self-contained header + green/gold theme
   Mobile/tablet <=992px ; Desktop >=993px
   ============================================================ */
:root{
  --sz-gold:#2FA97D;
  --sz-gold-dark:#1B7A57;
  --sz-gold-soft:#8FE0BF;
  --sz-black:#02251E;
  --sz-ink:#0E332A;
}

html,body{ overflow-x:hidden !important; }
body{ background:#FBFAF7 !important; }
img{ max-width:100%; }

/* ============================================================
   HEADER — fully owned by this stylesheet
   ============================================================ */
.sz-header, .sz-header #header, #header.cloned{
  background:var(--sz-black) !important;
  box-shadow:0 2px 14px rgba(0,0,0,.35);
}
.sz-header #header{ padding:0 !important; }

.sz-header .sz-container{
  width:100% !important; max-width:1560px;
  margin:0 auto !important;
  padding:8px 22px !important;
  position:relative;
  display:flex !important; align-items:center;
  float:none !important;
}
.sz-header .sz-container:before,
.sz-header .sz-container:after{ display:none !important; } /* kill template clearfix */

/* logo */
.sz-header #logo{
  float:none !important; position:static !important;
  width:auto !important; margin:0 !important; text-align:left !important;
}
.sz-header #logo a{ display:block !important; line-height:0; border:none !important; }
.sz-header .sz-logo{ height:52px !important; width:auto !important; display:block; }

/* desktop nav */
.sz-header #navigation.sz-desknav{
  float:none !important; position:static !important;
  margin:0 0 0 28px !important; padding:0 !important;
  background:transparent !important;
}
.sz-header #navigation.sz-desknav:before{ display:none !important; }
.sz-header #navigation.sz-desknav ul{ background:transparent !important; }
.sz-header #navigation.sz-desknav ul li a{
  color:#EDEDED !important; font-weight:600; background:transparent !important;
  padding:10px 14px !important;
}
.sz-header #navigation.sz-desknav ul li a:hover,
.sz-header #navigation.sz-desknav ul li a.current{ color:var(--sz-gold) !important; }

/* burger — gold circle, own bars (no template hamburger CSS) */
.sz-burger{
  display:none;
  width:46px; height:46px;
  background:var(--sz-gold) !important;
  border:none !important; border-radius:50% !important;
  padding:0 !important; margin:0 !important;
  box-shadow:0 3px 10px rgba(47,169,125,.45);
  cursor:pointer;
  flex-direction:column;
  align-items:center; justify-content:center;
  gap:4.5px;
  position:absolute; left:14px; top:16px;
  z-index:70;
}
.sz-burger .sz-bar{
  display:block;
  width:20px; height:2.5px;
  background:#02251E;
  border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;
}
.sz-burger.is-active .sz-bar:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.sz-burger.is-active .sz-bar:nth-child(2){ opacity:0; }
.sz-burger.is-active .sz-bar:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* mobile dropdown menu */
.sz-mobile-nav{
  display:none;
  position:absolute; left:14px; top:calc(100% + 6px);
  min-width:230px;
  background:#06352B !important;
  border:1px solid rgba(47,169,125,.5);
  border-radius:14px;
  padding:8px;
  z-index:999;
  box-shadow:0 12px 30px rgba(0,0,0,.45);
}
.sz-mobile-nav.sz-open{ display:block; }
.sz-mobile-nav a{
  display:block; padding:12px 16px;
  color:#EDEDED !important; font-weight:600; font-size:15px;
  border-radius:10px; text-decoration:none !important;
}
.sz-mobile-nav a i{ color:var(--sz-gold); width:20px; margin-right:8px; }
.sz-mobile-nav a:hover, .sz-mobile-nav a.current{
  background:rgba(47,169,125,.14); color:var(--sz-gold) !important;
}
.sz-header{ position:relative; } /* anchor for dropdown */

/* ---------- SEARCH + PILLS (shared) ---------- */
.sz-search{ margin-left:auto; }
.header-search-form{ display:flex !important; align-items:center; gap:12px; }
.search-wrapper{ display:flex !important; align-items:stretch; flex:1 1 auto; min-width:0; }
.search-box, .header-search-input.search-box{
  flex:1 1 auto; width:100% !important; min-width:0;
  background:#fff !important;
  border:1px solid #E8E2D4 !important; border-right:none !important;
  border-radius:26px 0 0 26px !important;
  height:46px !important; padding:0 18px !important;
  font-size:14px !important; color:#333 !important;
  margin:0 !important;
}
.search-box:focus{ border-color:var(--sz-gold) !important; box-shadow:none !important; outline:none !important; }
.header-search-btn{
  flex:0 0 58px; width:58px; min-width:58px; height:46px !important;
  background:linear-gradient(135deg,var(--sz-gold),var(--sz-gold-dark)) !important;
  color:#fff !important; border:none !important;
  border-radius:0 26px 26px 0 !important;
  display:flex !important; align-items:center; justify-content:center;
  cursor:pointer; font-size:16px;
}
.header-search-btn:hover{ filter:brightness(1.08); }

.filters-wrapper{ display:flex !important; gap:12px; }
.filters-wrapper select{
  background-color:#fff !important;
  border:1px solid #EFE9DC !important;
  border-radius:26px !important;
  height:46px !important;
  font-weight:600 !important; color:#3A3A3A !important;
  font-size:14px !important;
  box-shadow:0 3px 10px rgba(0,0,0,.07) !important;
  appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
  background-repeat:no-repeat !important;
  cursor:pointer; margin:0 !important;
}
#bhkFilter, #locationFilter{
  background-position:14px center, right 14px center !important;
  background-size:18px, 16px !important;
  padding:0 38px 0 42px !important;
  color:#3A3A3A !important;
}
#bhkFilter{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232FA97D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10.5 12 3l9 7.5'/><path d='M5 9.5V21h14V9.5'/><path d='M10 21v-6h4v6'/></svg>"),
    url("data:image/svg+xml;utf8,<svg fill='%232FA97D' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>") !important;
}
#locationFilter{
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232FA97D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6.1 7-11a7 7 0 1 0-14 0c0 4.9 7 11 7 11z'/><circle cx='12' cy='10' r='2.6'/></svg>"),
    url("data:image/svg+xml;utf8,<svg fill='%232FA97D' height='20' viewBox='0 0 20 20' width='20' xmlns='http://www.w3.org/2000/svg'><path d='M5 7l5 5 5-5z'/></svg>") !important;
}

/* ============================================================
   DESKTOP >=993px — ONE compact row, never taller than ~66px
   ============================================================ */
@media (min-width: 993px){
  .sz-burger{ display:none !important; }
  .sz-mobile-nav{ display:none !important; }
  .sz-header #navigation.sz-desknav{ display:block !important; }
  .sz-header #navigation.sz-desknav ul#responsive{ display:block !important; }
  .sz-search{ flex:0 1 780px; }
  .filters-wrapper select{ width:160px; }
}
@media (min-width: 993px) and (max-width: 1250px){
  .sz-header #navigation.sz-desknav{ margin-left:12px !important; }
  .sz-header #navigation.sz-desknav ul li a{ padding:10px 8px !important; font-size:14px; }
  .filters-wrapper select{ width:135px; padding-left:38px !important; }
  .sz-search{ flex:1 1 auto; }
  .sz-header .sz-logo{ height:46px !important; }
}

/* ============================================================
   MOBILE + TABLET <=992px
   ============================================================ */
@media only screen and (max-width: 992px){
  .sz-header .sz-container{
    flex-wrap:wrap;
    padding:6px 14px 0 !important;
  }
  .sz-burger{ display:flex !important; top:18px; width:38px; height:38px; gap:4px; }
  .sz-burger .sz-bar{ width:17px; height:2.2px; }
  .sz-burger.is-active .sz-bar:nth-child(1){ transform:translateY(6.2px) rotate(45deg); }
  .sz-burger.is-active .sz-bar:nth-child(3){ transform:translateY(-6.2px) rotate(-45deg); }
  .sz-header #navigation.sz-desknav{ display:none !important; }

  /* logo centered on its own row */
  .sz-header #logo{
    flex:1 1 100%;
    text-align:center !important;
    padding:0 56px;
  }
  .sz-header #logo a{ display:inline-block !important; }
  .sz-header .sz-logo{ height:72px !important; display:inline-block; }

  /* search strip: white, edge-to-edge */
  .sz-search{
    flex:1 1 100%;
    margin:10px -14px 0 !important;
    background:#fff;
    padding:14px 14px 16px;
  }
  .header-search-form{ display:block !important; }
  .filters-wrapper{ margin-top:12px; justify-content:space-between; }
  .filters-wrapper select{ flex:1 1 48%; width:48% !important; min-width:0; }
}
@media (max-width: 380px){
  .sz-header .sz-logo{ height:62px !important; }
  .filters-wrapper select{ font-size:13px !important; padding-left:36px !important; }
}

/* ============================================================
   SHARE CARD (above 1 BHK)
   ============================================================ */
.sz-share-strip{ padding:0 15px; margin:8px 0 0; }

/* tighten vertical rhythm between card, section headings and sliders */
section.fullwidth{ padding:26px 0 30px !important; }
.utf-section-headline-item.centered.margin-bottom-30{ margin-bottom:8px !important; }
.utf-section-headline-item h3.headline{ margin:0 0 4px !important; padding-bottom:10px; }
.sz-share-card{
  max-width:1000px; margin:0 auto;
  background:#FFFDF8;
  border:1.5px solid var(--sz-gold);
  border-radius:18px;
  box-shadow:0 6px 20px rgba(0,0,0,.06);
  padding:20px 24px;
  display:flex; align-items:center; gap:20px;
}
.sz-share-ico{
  flex:0 0 56px; width:56px; height:56px;
  border:2px solid var(--sz-gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--sz-gold-dark); font-size:24px; background:#fff;
}
.sz-share-txt{ flex:1 1 auto; min-width:0; }
.sz-share-title{
  font-size:19px; font-weight:800; color:#0E332A;
  line-height:1.25; margin-bottom:3px;
}
.sz-share-text{
  margin:0 !important;
  font-size:15.5px; line-height:1.45; font-weight:500; color:#4A4A4A;
}
.sz-share-wa{
  flex:0 0 auto;
  display:inline-flex; align-items:center; gap:10px;
  background:#fff; color:#0E332A !important;
  border:1.5px solid var(--sz-gold);
  border-radius:30px; padding:10px 22px 10px 12px;
  font-weight:700; font-size:16px; text-decoration:none !important;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
  transition:box-shadow .2s, transform .2s;
  white-space:nowrap;
}
.sz-share-wa:hover{ box-shadow:0 6px 16px rgba(47,169,125,.35); transform:translateY(-1px); }
.sz-wa-badge{
  width:34px; height:34px; border-radius:50%;
  background:#25D366; color:#fff;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:19px;
}
@media (max-width:640px){
  /* one slim row: icon | text | button — like reference */
  .sz-share-strip{ padding:0 10px; }
  .sz-share-card{
    flex-wrap:nowrap; gap:10px;
    padding:10px 12px;
    border-radius:14px;
  }
  .sz-share-ico{
    flex:0 0 36px; width:36px; height:36px;
    font-size:15px; border-width:1.5px;
  }
  .sz-share-txt{ flex:1 1 auto; min-width:0; }
  .sz-share-title{ font-size:14.5px; margin-bottom:2px; }
  .sz-share-text{ font-size:12px; line-height:1.35; }
  .sz-share-wa{
    flex:0 0 auto; margin:0;
    padding:5px 10px 5px 6px;
    font-size:12.5px; gap:6px;
    border-radius:20px;
  }
  .sz-wa-badge{ width:22px; height:22px; font-size:12px; }
}
@media (max-width:360px){
  .sz-share-title{ font-size:13.5px; }
  .sz-share-text{ font-size:11px; }
  .sz-share-wa{ font-size:11.5px; padding:4px 8px 4px 5px; }
}
}

/* ============================================================
   SECTION HEADINGS + SHARE ROW (fix overlap)
   ============================================================ */
/* kill template red/orange underline — keep only gold */
.utf-section-headline-item h3::before,
.utf-section-headline-item.centered h3::before{ display:none !important; }
.utf-section-headline-item{ text-align:center; }
.utf-section-headline-item .left-share{
  display:flex !important; align-items:center; justify-content:center;
  gap:8px; width:100%; margin:0 0 12px !important; float:none !important;
}
.utf-section-headline-item h3.headline{
  display:block !important; float:none !important;
  color:var(--sz-ink) !important; font-weight:700 !important;
  position:relative; padding-bottom:12px; margin:0 auto;
}
.utf-section-headline-item h3.headline:after{
  content:""; position:absolute; left:50%; transform:translateX(-50%);
  bottom:0; width:56px; height:3px; border-radius:2px;
  background:var(--sz-gold);
}
.utf-headline-display-inner-item{ display:none !important; } /* ghost duplicate text off */
.utf-section-headline-item h2 strong{ color:var(--sz-ink); }

/* ============================================================
   CARDS / BUTTONS / PRICES  (beats page-level <style> blocks)
   ============================================================ */
.villa-card, .mobile-card{
  border-radius:16px !important;
  box-shadow:0 5px 16px rgba(0,0,0,.08) !important;
  background:#fff !important;
  overflow:hidden;
}
.mobile-card .mobile-card-top img, .villa-card .villa-img img{ border-radius:12px !important; }
.mobile-card .mobile-card-title{ color:#141414 !important; }
.mobile-card .mobile-card-price{ color:#141414 !important; }
.mobile-card .mobile-card-price.weekend{ color:var(--sz-gold-dark) !important; }

.mobile-card .mobile-desc-btn,
button.button, a.button, .button, input[type="submit"].button{
  background:var(--sz-black) !important;
  color:var(--sz-gold-soft) !important;
  border-radius:22px !important;
  border:none !important;
  font-weight:600;
}
.mobile-card .mobile-desc-btn:hover,
button.button:hover, a.button:hover, .button:hover{
  background:#0A3A2F !important; color:var(--sz-gold) !important;
}
a:hover{ color:var(--sz-gold-dark); }



/* ============================================================
   FOOTER (v7) — compact, dark
   ============================================================ */
.sz-footer, #sz-footer{
  background:#02251E !important; background-image:none !important;
  color:#E8E8E8;
  border-top:4px solid var(--sz-gold);
  position:relative; overflow:hidden;
  margin-top:36px; padding:0 !important;
}
.sz-footer::before, .sz-footer::after{ display:none !important; }
.sz-footer-container{ max-width:1300px; margin:0 auto; padding:0 24px; }
.sz-footer-main{ padding:38px 0 30px; position:relative; z-index:2; }
.sz-footer-main .sz-footer-container{
  display:grid;
  grid-template-columns: minmax(240px,340px) minmax(280px,420px) 1fr;
  gap:28px 56px; align-items:start;
}

/* decorative art */
.sz-footer-art{
  position:absolute; right:0; bottom:100px; width:300px; height:auto;
  color:#2C2C2C; opacity:.7; z-index:1; pointer-events:none;
}

/* ---- brand ---- */
.sz-footer-logo img{ width:180px; max-width:100%; height:auto; display:block; border-radius:6px; }
.sz-footer-tagline{ margin:12px 0 10px !important; font-size:15px; color:#EDEDED; font-weight:500; }
.sz-since{
  display:inline-flex; align-items:center; gap:8px;
  border:1.5px solid var(--sz-gold); border-radius:6px;
  padding:6px 14px; color:var(--sz-gold); font-size:14px; font-weight:700;
}
.sz-footer-divider{ height:1px; background:#262626; margin:18px 0 16px; max-width:340px; }
.sz-verified{ display:flex; align-items:center; gap:12px; }
.sz-verified-shield{
  width:38px; height:42px; flex:0 0 38px;
  background:var(--sz-gold); color:#fff;
  clip-path:polygon(50% 0,100% 15%,100% 55%,50% 100%,0 55%,0 15%);
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.sz-verified-label{ color:#CFCFCF; font-size:12px; margin-bottom:6px; }
.sz-partners{ display:inline-flex; align-items:center; gap:8px; }
.sz-partner{
  display:inline-flex; align-items:center; justify-content:center;
  height:34px; padding:0 12px; border-radius:6px;
}
.sz-partner--dark{ background:#083128; border:1px solid #14483B; }
.sz-partner--light{ background:#fff; }
.sz-partner img{ height:20px; width:auto; max-width:110px; object-fit:contain; display:block; }
.sz-partner--light img{ height:34px; max-width:96px; }

/* ---- contact ---- */
.sz-footer-contact{ list-style:none; margin:0 !important; padding:0 !important; }
.sz-footer-contact li{
  display:flex; align-items:center; gap:14px;
  padding:13px 0; border-bottom:1px solid #262626;
}
.sz-footer-contact li:first-child{ padding-top:2px; }
.sz-footer-contact li:last-child{ border-bottom:none; }
.sz-fc-ico{
  flex:0 0 44px; width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--sz-gold); color:var(--sz-gold);
  display:flex; align-items:center; justify-content:center; font-size:17px;
}
.sz-fc-label{
  color:var(--sz-gold); font-weight:700; font-size:13px;
  letter-spacing:.6px; text-transform:uppercase; margin-bottom:2px;
}
.sz-fc-value, a.sz-fc-value{
  color:#F2F2F2 !important; font-size:15px; line-height:1.45;
  text-decoration:none !important; word-break:break-word;
}
a.sz-fc-value:hover{ color:var(--sz-gold) !important; }

/* ---- trust bar ---- */
.sz-trust{
  border-top:1.5px solid var(--sz-gold); border-bottom:1.5px solid var(--sz-gold);
  background:#032A22; position:relative; z-index:2;
}
.sz-trust-row{ display:grid; grid-template-columns:repeat(4,1fr); padding:14px 24px; }
.sz-trust-item{
  display:flex; align-items:center; gap:10px;
  color:#EDEDED; font-size:14px; font-weight:500;
  padding:2px 14px; border-left:1px solid #333;
}
.sz-trust-item:first-child{ border-left:none; padding-left:0; }
.sz-trust-item i{ color:var(--sz-gold); font-size:20px; width:24px; text-align:center; }

/* ---- copyright ---- */
.sz-copy{ text-align:center; color:#BDBDBD; font-size:13px; padding:16px 15px; position:relative; z-index:2; }

/* ---- responsive ---- */
@media (max-width:1200px){
  .sz-footer-main .sz-footer-container{ grid-template-columns:1fr 1fr; }
  .sz-footer-art{ width:220px; right:-30px; opacity:.35; }
}
@media (max-width:992px){
  .sz-trust-row{ grid-template-columns:repeat(2,1fr); gap:12px 0; }
  .sz-trust-item:nth-child(3){ border-left:none; padding-left:0; }
}
@media (max-width:768px){
  .sz-footer-main{ padding:28px 0 22px; }
  .sz-footer-main .sz-footer-container{ grid-template-columns:1fr; gap:22px; }
  .sz-footer-art{ display:none; }
  .sz-footer-logo img{ width:160px; }
  .sz-footer-contact li{ padding:11px 0; }
}
@media (max-width:480px){
  .sz-footer-container{ padding:0 16px; }
  .sz-trust-row{ grid-template-columns:1fr; padding:14px 16px; gap:10px; }
  .sz-trust-item{ border-left:none; padding-left:0; font-size:13px; }
  .sz-trust-item i{ font-size:18px; }
  .sz-copy{ font-size:12px; }
}

/* ============================================================
   FINAL OVERRIDE — only ONE (gold) underline under headings.
   content:none kills the pseudo even if some other stylesheet
   re-declares it with !important later.
   ============================================================ */
.utf-section-headline-item h3:before,
.utf-section-headline-item h3::before,
.utf-section-headline-item.centered h3:before,
.utf-section-headline-item.centered h3::before,
h3.headline:before,
h3.headline::before{
  content:none !important;
  display:none !important;
  background:transparent !important;
  height:0 !important; width:0 !important;
}
