/* ==========================================================================
   Realty Gateway — global stylesheet
   Fonts (Archivo, Marcellus) are loaded from Google Fonts in index.html.
   Element-level styling stays inline on the markup for exact layout fidelity;
   this file holds resets, keyframes, responsive rules and interaction states.
   ========================================================================== */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased;background:#F6F4EF;color:#1C1A17;font-family:Archivo,sans-serif}
input,select,textarea,button{font:inherit}
img{max-width:100%;display:block}
a{color:inherit}

/* ---- keyframes ---- */
@keyframes rgUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes rgShine{0%{transform:translateX(-180%) skewX(-20deg)}55%{transform:translateX(280%) skewX(-20deg)}100%{transform:translateX(280%) skewX(-20deg)}}

/* ---- hide scrollbar on the nav ---- */
.rg-nav{scrollbar-width:none}
.rg-nav::-webkit-scrollbar{display:none}
section{scroll-margin-top:100px}

/* ---- premium shine sweep on primary CTAs ---- */
.rg-shine{position:relative;overflow:hidden}
.rg-shine::after{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(105deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.38) 50%,rgba(255,255,255,0) 100%);transform:translateX(-180%) skewX(-20deg);animation:rgShine 3.2s cubic-bezier(0.4,0,0.2,1) infinite;pointer-events:none}
.rg-shine-warm::after{background:linear-gradient(105deg,rgba(138,107,63,0) 0%,rgba(138,107,63,0.30) 50%,rgba(138,107,63,0) 100%)}

/* ==========================================================================
   Interaction states — ported from the original hover/focus styling.
   Base appearance lives inline on each element; these override on interaction.
   ========================================================================== */
.nav-link{transition:color .25s}
.nav-link:hover{color:#1C1A17 !important}

.link-bronze{transition:color .25s}
.link-bronze:hover{color:#8A6B3F !important}

.btn-dark{transition:background .32s}
.btn-dark:hover{background:#8A6B3F !important}

.btn-cream{transition:background .32s}
.btn-cream:hover{background:#C9A876 !important}

.btn-outline-dark{transition:all .32s}
.btn-outline-dark:hover{background:#1C1A17 !important;color:#F2EEE5 !important}

.enquire-btn{transition:all .32s}
.enquire-btn:hover{background:#8A6B3F !important;border-color:#8A6B3F !important}

.prop-card{transition:transform .32s cubic-bezier(0.22,1,0.36,1),box-shadow .32s}
.prop-card:hover{transform:translateY(-6px);box-shadow:0 28px 56px rgba(28,26,23,0.13)}

.field{transition:border-color .25s}
.field:focus{border-color:#8A6B3F !important}

.foot-link{transition:color .25s}
.foot-link:hover{color:#EFEAE0 !important}

.modal-close{transition:color .25s}
.modal-close:hover{color:#1C1A17 !important}

.wa-fab{transition:transform .25s}
.wa-fab:hover{transform:scale(1.07)}

/* ---- collection search: custom select arrow, filter chip, layout toggle ---- */
.rg-filterrow>*{min-width:0}
.rg-filter-sel{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%236E675C' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 12px center !important;cursor:pointer}
.rg-chip{transition:all .25s}
.rg-chip:hover{border-color:#8A6B3F !important;color:#8A6B3F !important}

/* ==========================================================================
   Booking modal — hidden until opened by script.js
   ========================================================================== */
#booking-modal{display:none;position:fixed;inset:0;z-index:100;background:rgba(24,21,16,0.62);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:24px}
#booking-modal.is-open{display:flex}
body.rg-noscroll{overflow:hidden}

/* ---- property detail overlay ---- */
#property-overlay{display:none;position:fixed;inset:0;z-index:100;background:rgba(24,21,16,0.62);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:24px}
#property-overlay.is-open{display:flex}

/* ---- filter sheet (mobile / tablet) ---- */
#filter-sheet{display:none;position:fixed;inset:0;z-index:110;background:rgba(24,21,16,0.62);backdrop-filter:blur(6px);align-items:flex-end;justify-content:center}
#filter-sheet.is-open{display:flex}
#rg-compact{display:none}

/* ---- compact mobile header (permanent) ---- */
@media (max-width:920px){
  .rg-hdr{padding-top:10px !important;padding-bottom:0 !important;row-gap:0}
  .rg-hdr>a{display:flex;align-items:center}
  .rg-logo-text div:first-child{font-size:15.5px !important}
  .rg-logo-text div:last-child{font-size:7px !important;letter-spacing:0.24em !important}
  .rg-logo-img{height:38px !important}
  .rg-hdr button,.rg-hdr .rg-cta{padding:10px 14px !important;font-size:10px !important;letter-spacing:0.1em !important}
  .rg-nav{gap:22px !important;margin:8px -20px 0;padding:0 20px 10px !important;border-top:1px solid #EDE8DC;justify-content:center !important;justify-content:safe center !important}
  .rg-nav a{font-size:10px !important;padding-top:9px}
}
@media (max-width:400px){
  .rg-nav{gap:14px !important}
}

/* ---- full-bleed mobile hero (permanent) ---- */
.rg-heroM{display:none}
@media (max-width:920px){
  .rg-heroA-left,.rg-heroA-img{display:none !important}
  .rg-heroM-a{display:block}
}

/* ==========================================================================
   Responsive rules (unchanged from original)
   ========================================================================== */
@media (max-width:1080px){
  .rgq{padding-left:32px !important;padding-right:32px !important}
  .rg3col{grid-template-columns:repeat(2,1fr) !important}
  .rg5col{grid-template-columns:repeat(2,1fr) !important;gap:32px !important}
  .rg-results{grid-template-columns:1fr !important}
  .rg-sideform{position:static !important;max-width:520px;margin:0 auto}
  /* 921–1080px: bar too tight for 7 controls in one row — wrap 3-per-row, search full width */
  .rg-filterrow{flex-wrap:wrap}
  .rg-filterrow>*{flex:1 1 30% !important;border-bottom:1px solid #E5DFD2}
  .rg-filterrow>div:first-child{flex:1 1 100% !important;border-right:none !important}
  /* 921–1080px: two CTAs + lang toggle + nav don't fit one row — wrap the nav to a second row like ≤920 */
  .rg-hdr{gap:18px !important;flex-wrap:wrap;height:auto !important;padding-top:12px !important;padding-bottom:0 !important;row-gap:0;column-gap:16px !important}
  .rg-nav{order:3;width:100%;gap:22px !important;margin:8px -32px 0;padding:0 32px 10px !important;border-top:1px solid #EDE8DC;justify-content:center !important;justify-content:safe center !important}
  .rg-nav a{padding-top:9px}
  .rg-hdr>a{flex:0 0 auto}
  .rg-logo-text div:first-child{font-size:15.5px !important;white-space:nowrap}
  .rg-logo-text div:last-child{font-size:7px !important;letter-spacing:0.24em !important;white-space:nowrap}
  .rg-logo-img{height:38px !important}
  .rg-logo-mark{gap:8px}
  .rg-nav{gap:18px !important}
  .rg-hdr button,.rg-hdr .rg-cta{padding:11px 14px !important;font-size:10px !important;letter-spacing:0.1em !important;white-space:nowrap}
  .rg-hdr-ctas{gap:8px !important;flex:0 0 auto}
}
@media (max-width:920px){
  section{scroll-margin-top:150px}
  .rg2col{grid-template-columns:1fr !important;gap:48px !important}
  .rg4col{grid-template-columns:repeat(2,1fr) !important;gap:40px 28px !important}
  .rg4col>div{border-right:none !important}
  .rg-foot{grid-template-columns:1fr !important;gap:44px !important}
  .rg-hdr{flex-wrap:wrap;height:auto !important;padding-top:14px !important;padding-bottom:12px !important;row-gap:8px;column-gap:16px !important}
  .rg-hdr button,.rg-hdr .rg-cta{white-space:nowrap}
  .rg-nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start !important;padding-bottom:2px}
  .rg-nav a{white-space:nowrap}
  .rg-heroA{grid-template-columns:1fr !important;min-height:0 !important}
  .rg-heroA-left{padding:72px 32px 64px !important;max-width:none !important;margin:0 !important}
  .rg-heroA-img{min-height:380px !important}
  .rg-img-tall{height:380px !important}
  .rg-cardgrid{grid-template-columns:1fr !important}
  .rg-expand{grid-template-columns:1fr !important}
  /* compact search replaces the full filter layout on mobile / tablet */
  #rg-filter-bar{display:none !important}
  #rg-compact{display:block}
  /* overlay: form column moves below details — border switches sides */
  .rg-expand>div+div{border-left:none !important;border-top:1px solid #E5DFD2}
  /* filter bar wraps into 2-per-row on tablet; search takes the full first row */
  .rg-filterrow{flex-wrap:wrap}
  .rg-filterrow>*{flex:1 1 45% !important;border-right:none !important;border-bottom:1px solid #E5DFD2}
  .rg-filterrow>div:first-child{flex:1 1 100% !important}
}
@media (max-width:640px){
  .rgq{padding-left:20px !important;padding-right:20px !important}
  .rg3col{grid-template-columns:1fr !important}
  .rg5col{grid-template-columns:1fr !important}
  .rg4col{grid-template-columns:1fr 1fr !important}
  h2{font-size:31px !important}
  .rg-hdr button,.rg-hdr .rg-cta{padding:11px 14px !important;letter-spacing:0.12em !important}
  .rg-modal{padding:30px 22px !important}
  #property-overlay{padding:12px}
  #property-overlay .rg-modal{padding:0 !important;max-height:94vh}
  .rg-formcard{padding:28px 20px !important}
  .rg-filterrow{flex-direction:column !important;align-items:stretch !important}
  .rg-filterrow>*{border-right:none !important;border-bottom:1px solid #E5DFD2;flex:1 1 auto !important}
}

/* forced line-breaks inside header CTAs — active on ALL viewports so both buttons always read as two lines */
.rg-br-m{display:inline}

/* ---- mobile (≤640px): row1 logo · row2 CTA pair · row3 nav + language ----
   Language is pulled onto the nav row (beside the menu links) instead of
   taking its own row, and the vertical gaps are tightened, so the header is
   noticeably shorter. .rg-hdr-ctas uses display:contents so its children
   (language + both buttons) reflow as direct header items. */
@media (max-width:640px){
  .rg-br-m{display:inline}
  .rg-hdr{position:relative;flex-wrap:wrap;column-gap:10px !important;row-gap:6px;padding-top:10px !important;padding-bottom:8px !important}
  .rg-hdr-ctas{display:contents !important}
  .rg-hdr>a{order:1;flex:1 1 100%;min-width:0;justify-content:center}
  .rg-logo-text div:first-child{font-size:14.5px !important;letter-spacing:0.05em !important;white-space:nowrap}
  .rg-logo-img{height:34px !important}
  /* row 2 — the two CTA buttons, side by side */
  .rg-cta{order:2}
  [data-open-booking]{order:3}
  .rg-hdr .rg-cta,.rg-hdr [data-open-booking]{flex:1 1 44% !important;width:auto !important;max-width:none;white-space:normal !important;box-sizing:border-box;padding:10px 8px !important;font-size:10px !important;line-height:1.4 !important;letter-spacing:0.08em !important;text-align:center;display:flex;align-items:center;justify-content:center}
  /* row 3 — the four nav links AND the language selector, always on ONE row.
     Font size and gaps scale with the phone width (clamped vw), so everything
     fits at any width: never wraps to a new line, never clips. */
  .rg-nav{order:4;flex:0 0 auto;width:auto !important;min-width:0;overflow:visible;flex-wrap:nowrap;margin:0 !important;padding:4px 0 0 !important;border-top:none !important;gap:clamp(5px,2vw,14px) !important;justify-content:flex-start !important}
  .rg-nav a{padding-top:0 !important;white-space:nowrap;font-size:clamp(7.5px,2.4vw,11px) !important;letter-spacing:0.02em !important}
  .rg-hdr-ctas .rg-lang{position:static;order:5;flex:0 0 auto;margin-left:auto;align-self:center}
  .rg-hdr-ctas .rg-lang-sel{font-size:clamp(7.5px,2.2vw,10px) !important;padding:7px clamp(15px,4.5vw,22px) 7px clamp(7px,2.4vw,12px) !important;background-position:right clamp(6px,2vw,9px) center !important;box-shadow:none !important}
}


/* ==========================================================================
   FINALIZED DESIGN DECISIONS (baked-in; tweaks layer removed)
   ========================================================================== */

/* ---- Logo: mark + wordmark ---- */
.rg-logo-mark{display:flex;align-items:center;gap:12px}
@media (max-width:920px){.rg-logo-mark{gap:8px}}

/* ---- CTA buttons: pill + offset gold shadow ---- */
@keyframes rgNudge{0%,100%{transform:translate(0,0)}50%{transform:translate(-2px,-2px)}}
[data-open-booking],.rg-cta{background:#FFFFFF !important;color:#1C1A17 !important;border:1.5px solid #1C1A17 !important;border-radius:999px !important;box-shadow:5px 5px 0 #C9A876 !important;animation:rgNudge 2.6s ease-in-out infinite;transition:box-shadow .25s,transform .25s}
[data-open-booking]:hover,.rg-cta:hover{background:#1C1A17 !important;color:#F2EEE5 !important;box-shadow:2px 2px 0 #C9A876 !important;animation:none}
[data-open-booking].rg-shine::after{display:none}

/* ---- Language dropdown (header) — English / ગુજરાતી / हिन्दी ---- */
/* Language switcher hidden while the translation feature is in progress.
   To re-enable, remove the `display:none` override below. */
.rg-lang{display:none !important;align-items:center;flex:0 0 auto}
.rg-lang-sel{appearance:none;-webkit-appearance:none;border:1px solid #C9BFA9;border-radius:999px;background:#FFFFFF url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M1 1l3.5 3.5L8 1' stroke='%238A6B3F' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 12px center;font:600 10px Archivo,sans-serif;letter-spacing:0.08em;color:#1C1A17;padding:9px 30px 9px 14px;line-height:1;cursor:pointer;outline:none;transition:border-color .25s;white-space:nowrap}
.rg-lang-sel:hover,.rg-lang-sel:focus{border-color:#8A6B3F}
@media (max-width:640px){
  /* home header (.rg-hdr) positions language on the nav row — see the mobile
     header block above; the search page keeps its own simple placement */
  .sp-hdr-r .rg-lang{flex:0 0 auto}
}

/* ---- Logo lockup never wraps: wordmark + strapline each stay on one line ---- */
.rg-logo-text div{white-space:nowrap}

/* ---- Header CTAs: two-line label on every viewport (desktop, tablet, mobile) ---- */
.rg-hdr .rg-cta,.rg-hdr [data-open-booking]{text-align:center}

/* ---- Home layout V3: search-first hero, collection in the spotlight ---- */
#collection{padding-top:34px !important;border-bottom:1px solid #E5DFD2}
#rg-searchband #rg-filter-bar{margin-bottom:0}
#rg-searchband #rg-compact{margin-bottom:0;display:block}
#rg-searchband #rg-compact>div:last-child{margin-bottom:0}
@media (min-width:921px){#rg-searchband #rg-compact{display:none}}
@media (max-width:920px){#rg-searchband #rg-filter-bar{display:none !important}}
#rg-searchband.band-hero{background:linear-gradient(180deg,rgba(20,18,14,0.82) 0%,rgba(20,18,14,0.62) 55%,rgba(20,18,14,0.88) 100%), url('images/hero.jpg') center 30%/cover no-repeat, #1C1A17;border-bottom:1px solid #2E2A24}
#rg-searchband.band-hero .rg-shero-inner{max-width:920px;margin:0 auto;padding:76px 40px 46px;text-align:center}
#rg-searchband.band-hero .rg-shero-kicker{font:600 10.5px Archivo,sans-serif;letter-spacing:0.3em;text-transform:uppercase;color:#C9A876;margin-bottom:20px}
#rg-searchband.band-hero .rg-shero-title{font:400 clamp(34px,4vw,54px)/1.12 Marcellus,serif;color:#F2EEE5;margin:0 0 16px}
#rg-searchband.band-hero .rg-shero-title span{color:#C9A876}
#rg-searchband.band-hero .rg-shero-sub{font:400 15px/1.7 Archivo,sans-serif;color:rgba(242,238,229,0.78);margin:0 auto 34px;max-width:560px}
#rg-searchband.band-hero .rg-shero-sub #rg-shero-count{color:#C9A876;font-weight:600}
#rg-searchband.band-hero .rg-band-slot{text-align:left;box-shadow:0 30px 70px rgba(0,0,0,0.45)}
#rg-searchband.band-hero .rg-filterrow{flex-wrap:wrap}
#rg-searchband.band-hero .rg-filterrow>*{flex:1 1 0 !important;min-width:0}
#rg-searchband.band-hero .rg-filterrow>div:first-child{flex:1 1 100% !important;border-right:none !important;border-bottom:1px solid #E5DFD2;background:#FBFAF7}
#rg-searchband.band-hero .rg-filterrow>div:first-child span{font-size:18px;line-height:1}
#rg-searchband.band-hero .rg-filterrow>div:first-child input{font-size:14.5px !important;padding:19px 0 !important}
#rg-searchband.band-hero .rg-filter-sel{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%238A6B3F' fill='none' stroke-width='1.6'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important}
#rg-searchband.band-hero .rg-shero-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin-top:18px}
#rg-searchband.band-hero .rg-shero-chiplabel{font:600 9.5px Archivo,sans-serif;letter-spacing:0.24em;text-transform:uppercase;color:rgba(242,238,229,0.55);margin-right:4px}
#rg-searchband.band-hero .rg-shero-chip{font:500 11px Archivo,sans-serif;letter-spacing:0.06em;padding:8px 15px;border:1px solid rgba(242,238,229,0.32);border-radius:999px;background:rgba(242,238,229,0.06);color:#F2EEE5;cursor:pointer;transition:all .25s}
#rg-searchband.band-hero .rg-shero-chip:hover{border-color:#C9A876;color:#C9A876}
#rg-searchband.band-hero .rg-shero-chip.on{background:#C9A876;border-color:#C9A876;color:#241B0E;font-weight:600}
#rg-searchband.band-hero .rg-shero-trust{display:flex;justify-content:center;gap:0;border-top:1px solid rgba(242,238,229,0.16);background:rgba(14,12,9,0.35);backdrop-filter:blur(4px)}
#rg-searchband.band-hero .rg-shero-stat{display:flex;align-items:baseline;gap:10px;padding:16px 34px;border-right:1px solid rgba(242,238,229,0.12)}
#rg-searchband.band-hero .rg-shero-stat:first-child{border-left:1px solid rgba(242,238,229,0.12)}
#rg-searchband.band-hero .rg-shero-stat b{font:400 20px Marcellus,serif;color:#F2EEE5;font-weight:400}
#rg-searchband.band-hero .rg-shero-stat span{font:500 9.5px Archivo,sans-serif;letter-spacing:0.16em;text-transform:uppercase;color:rgba(242,238,229,0.58);white-space:nowrap}
@media (max-width:1080px){#rg-searchband.band-hero .rg-shero-inner{padding:56px 32px 38px}}
@media (max-width:640px){
  #rg-searchband.band-hero .rg-shero-inner{padding:44px 20px 30px}
  #rg-searchband.band-hero .rg-shero-sub{font-size:14px;margin-bottom:26px}
  #rg-searchband.band-hero .rg-shero-chiplabel{width:100%;margin:0 0 2px}
  #rg-searchband.band-hero .rg-shero-trust{flex-wrap:wrap}
  #rg-searchband.band-hero .rg-shero-stat{padding:12px 16px;flex:1 1 40%;justify-content:center;border:none !important}
  #collection{padding-top:26px !important}
}
