:root {
  --bg: #f8f4ec;
  --panel: #fffdf8;
  --text: #26312d;
  --muted: #6e756f;
  --primary: #2f6f61;
  --primary-dark: #24584d;
  --line: rgba(38, 49, 45, .13);
  --soft: #eef2ec;
  --shadow: 0 24px 70px rgba(39, 49, 44, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: radial-gradient(circle at top left, #fffaf0, var(--bg) 44%, #f2eee4);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 72px;
  padding: 14px 5vw;
  background: rgba(248, 244, 236, .88);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 950; font-size: 20px; }
.mark { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 14px; background: var(--primary); color: #fff; font-size: 14px; }
.topActions { display: inline-flex; align-items: center; gap: 12px; }
.langSwitch { display: inline-flex; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.7); }
.langSwitch button { border: 0; border-radius: 999px; padding: 9px 12px; background: transparent; color: var(--muted); font-weight: 900; cursor: pointer; }
.langSwitch button.active { background: var(--primary); color: white; }
.navCta, .smallBtn, .btn, .leadBtn { display: inline-flex; align-items: center; justify-content: center; border-radius: 18px; font-weight: 950; cursor: pointer; border: 1px solid transparent; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.navCta { min-height: 44px; padding: 0 18px; background: var(--primary); color: #fff; box-shadow: 0 12px 30px rgba(47,111,97,.18); }
.navCta:hover, .btn:hover, .smallBtn:hover, .leadBtn:hover { transform: translateY(-1px); }

.hero { padding: 56px 5vw 34px; }
.visualHero {
  position: relative;
  min-height: calc(100svh - 72px);
  display: grid;
  align-items: end;
  overflow: hidden;
  padding: 70px 5vw 56px;
}
.heroMedia,
.heroMedia::after,
.heroImage {
  position: absolute;
  inset: 0;
}
.heroMedia::after {
  content: "";
  background:
    linear-gradient(90deg, rgba(248,244,236,.98) 0%, rgba(248,244,236,.88) 38%, rgba(248,244,236,.38) 74%, rgba(248,244,236,.12) 100%),
    linear-gradient(0deg, rgba(248,244,236,.86), transparent 44%);
}
.heroImage {
  background:
    linear-gradient(90deg, rgba(248,244,236,.72) 0%, rgba(248,244,236,.42) 42%, rgba(248,244,236,.06) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room.webp') center center / cover no-repeat;
}
.heroImage::before,
.heroImage::after {
  display: none;
}
.heroCopy {
  position: relative;
  z-index: 2;
  width: min(1040px, 100%);
  margin: 0 auto;
}
.eyebrow { display: inline-flex; width: fit-content; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,253,248,.78); padding: 10px 14px; margin: 0 0 12px; color: var(--primary); font-size: 12px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
h1 { max-width: 800px; margin: 0; font-size: clamp(48px, 8vw, 88px); line-height: .95; letter-spacing: -.06em; }
h2 { margin: 0; font-size: clamp(30px, 4vw, 52px); line-height: 1; letter-spacing: -.04em; }
h3 { margin: 0; font-size: 20px; letter-spacing: -.02em; }
.lead { max-width: 760px; margin: 20px 0 0; color: var(--muted); font-size: clamp(17px, 2vw, 21px); line-height: 1.55; }

.mainSearch {
  display: grid;
  grid-template-columns: 1.3fr .75fr .55fr .7fr;
  gap: 12px;
  width: min(1040px, 100%);
  margin-top: 28px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: rgba(255,253,248,.95);
  box-shadow: var(--shadow);
  backdrop-filter: blur(18px);
}
.searchIntro { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 2px 4px 4px; }
.searchIntro b { font-size: 21px; }
.searchIntro span, .searchStatus { color: var(--muted); font-size: 13px; font-weight: 850; }
label { display: grid; gap: 8px; color: var(--muted); font-size: 12px; font-weight: 950; }
input, select {
  width: 100%;
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  padding: 13px 14px;
  color: var(--text);
  outline: none;
}
input:focus, select:focus { border-color: rgba(47,111,97,.45); box-shadow: 0 0 0 4px rgba(47,111,97,.08); }
.wide { min-width: 0; }
.notesField { grid-column: span 2; }
.nearToggle { min-height: 58px; border: 1px solid var(--line); border-radius: 20px; background: white; color: var(--primary); font-weight: 950; cursor: pointer; }
.nearToggle.active { border-color: transparent; background: var(--primary); color: white; }
.searchActions { grid-column: span 2; display: grid; grid-template-columns: 1.15fr .85fr; gap: 10px; }
.btn { min-height: 56px; padding: 14px 20px; }
.primary { background: var(--primary); color: white; box-shadow: 0 16px 36px rgba(47,111,97,.22); }
.primary:hover { background: var(--primary-dark); }
.secondary, .smallBtn { background: white; color: var(--text); border-color: var(--line); }
.searchSubmit { min-height: 58px; border-radius: 20px; font-size: 16px; white-space: normal; text-align: center; }
.searchStatus { grid-column: 1 / -1; margin: 0; padding: 0 4px 2px; }


.quickRecommendations {
  width: min(1040px, 100%);
  margin-top: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,253,248,.9);
  box-shadow: 0 14px 44px rgba(39,49,44,.08);
  backdrop-filter: blur(16px);
}
.quickRecHead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.quickRecHead div { display: grid; gap: 4px; }
.quickRecHead b { font-size: 17px; letter-spacing: -.02em; }
.quickRecHead span { color: var(--muted); font-size: 13px; font-weight: 850; }
.quickRecChips { display: flex; flex-wrap: wrap; gap: 8px; }
.quickRecChips button {
  border: 1px solid rgba(47,111,97,.18);
  border-radius: 999px;
  background: rgba(47,111,97,.08);
  color: var(--primary-dark);
  padding: 10px 13px;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}
.quickRecChips button:hover { background: rgba(47,111,97,.14); transform: translateY(-1px); }
.quickRecCards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.quickRecCardsHeader { grid-column: 1 / -1; color: var(--muted); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.quickRecCard {
  display: grid;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: white;
  padding: 13px;
}
.quickRecCard span { color: var(--muted); font-size: 12px; font-weight: 900; }
.quickRecCard b { font-size: 16px; }
.quickRecCard strong { color: var(--primary); font-size: 13px; }

.section { padding: 42px 5vw; }
.sectionHead { width: min(1180px, 100%); margin: 0 auto 18px; }
.sectionHead p:not(.eyebrow) { max-width: 620px; color: var(--muted); line-height: 1.55; }
.catalogMeta { width: min(1180px, 100%); margin: 0 auto 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-weight: 950; }
.smallBtn { min-height: 42px; padding: 10px 16px; }
.propertyGrid { width: min(1180px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.propertyCard { overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: var(--panel); box-shadow: 0 16px 50px rgba(39,49,44,.08); }
.cardImage { position: relative; display: block; }
.propertyPhoto { height: 190px; background: linear-gradient(135deg, #e9eadf, #f8f2e7); }
.propertyPhoto img, .detailPhoto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.photoPending { display: grid; place-content: center; gap: 6px; text-align: center; color: var(--primary-dark); }
.photoPending span { font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; color: var(--primary); }
.photoPending b { font-size: 24px; }
.featuredBadge, .availabilityBadge { position: absolute; top: 14px; border-radius: 999px; padding: 8px 11px; font-size: 12px; font-weight: 950; background: white; box-shadow: 0 10px 28px rgba(31,37,32,.12); }
.featuredBadge { left: 14px; color: var(--primary); }
.availabilityBadge { right: 14px; color: var(--text); }
.availabilityBadge.ok { background: #e9f6ec; color: #237045; }
.availabilityBadge.warn { background: #fff2d9; color: #99620e; }
.availabilityBadge.soft { background: white; color: var(--muted); }
.cardBody { padding: 18px; }
.cardTop { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.cardTop b { color: var(--primary); }
.typeLine { display: block; margin-bottom: 5px; color: var(--muted); font-size: 12px; font-weight: 950; }
.cardBody p { color: var(--muted); line-height: 1.45; }
.rentFacts, .tagLine { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.rentFacts span, .tagLine small { border-radius: 999px; padding: 8px 10px; background: var(--soft); color: var(--muted); font-size: 12px; font-weight: 850; }
.cardFooter { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.cardFooter strong { font-size: 14px; }
.leadBtn { width: 100%; min-height: 50px; margin-top: 12px; background: var(--primary); color: white; }
.emptyState { grid-column: 1 / -1; min-height: 160px; display: grid; place-content: center; gap: 8px; text-align: center; border: 1px dashed var(--line); border-radius: 28px; background: rgba(255,255,255,.55); color: var(--muted); }
.emptyState b { color: var(--text); font-size: 22px; }

.ownerSection { padding-top: 48px; }
.ownerForm { width: min(1180px, 100%); margin: 0 auto; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; border: 1px solid var(--line); border-radius: 28px; background: var(--panel); padding: 16px; box-shadow: var(--shadow); }
.ownerForm .btn { align-self: end; }
.footer { padding: 32px 5vw 96px; color: var(--muted); text-align: center; }

.detailHero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; padding: 60px 5vw 30px; align-items: center; }
.detailCopy, .detailMedia { min-width: 0; }
.detailCopy h1 { font-size: clamp(44px, 6vw, 76px); }
.detailCopy p { color: var(--muted); line-height: 1.6; }
.backLink { display: inline-flex; margin-bottom: 18px; color: var(--primary); font-weight: 950; }
.detailFacts { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.detailFacts span, .amenityGrid span, .conditionsGrid div { border-radius: 18px; background: var(--soft); padding: 12px 14px; color: var(--muted); font-weight: 850; }
.detailActions { display: flex; flex-wrap: wrap; gap: 10px; }
.detailPhoto { min-height: 420px; border-radius: 32px; overflow: hidden; background: linear-gradient(135deg, #e9eadf, #f8f2e7); }
.detailGrid { display: grid; grid-template-columns: 1fr 360px; gap: 22px; width: min(1180px, 100%); margin: 0 auto; }
.amenityGrid { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.conditionsGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.conditionsGrid div { display: grid; gap: 4px; }
.conditionsGrid b { color: var(--text); }
.conditionsGrid span { font-size: 12px; }
.pricePanel { position: sticky; top: 96px; align-self: start; display: grid; gap: 12px; border: 1px solid var(--line); border-radius: 28px; background: var(--panel); padding: 20px; box-shadow: var(--shadow); }
.pricePanel > span { color: var(--muted); font-weight: 900; }
.pricePanel b { font-size: 34px; letter-spacing: -.04em; }
.pricePanel p, .pricePanel small { margin: 0; color: var(--muted); line-height: 1.5; }
.full { width: 100%; }

.reveal, .sectionHead { opacity: 0; transform: translateY(10px); transition: opacity .35s ease, transform .35s ease; }
.reveal.visible, .sectionHead.visible { opacity: 1; transform: none; }

.mobileBar { display: none; }

@media (max-width: 980px) {
  .mainSearch { grid-template-columns: 1fr 1fr; }
  .mainSearch .wide, .notesField, .searchActions, .searchIntro, .searchStatus { grid-column: 1 / -1; }
  .propertyGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ownerForm { grid-template-columns: 1fr 1fr; }
  .ownerForm .btn { grid-column: 1 / -1; }
  .detailHero, .detailGrid { grid-template-columns: 1fr; }
  .pricePanel { position: static; }
}

@media (max-width: 720px) {
  .topbar { padding: 10px 4vw; align-items: center; }
  .brand { font-size: 18px; }
  .mark { width: 36px; height: 36px; border-radius: 12px; }
  .topActions { margin-left: auto; }
  .navCta { display: none; }
  .langSwitch button { padding: 8px 9px; font-size: 12px; }
  .visualHero { min-height: auto; padding: 42px 4vw 24px; }
  .heroMedia::after { background: linear-gradient(180deg, rgba(248,244,236,.94), rgba(248,244,236,.78) 50%, rgba(248,244,236,.92)); }
  h1 { font-size: clamp(38px, 12vw, 58px); }
  .mainSearch { grid-template-columns: 1fr; gap: 10px; padding: 12px; border-radius: 26px; }
  .searchIntro { display: grid; gap: 4px; }
  .searchActions { grid-template-columns: 1fr; }
  .quickRecommendations { padding: 12px; border-radius: 24px; }
  .quickRecCards { grid-template-columns: 1fr; }
  .section { padding: 34px 4vw; }
  .catalogMeta { align-items: flex-start; }
  .propertyGrid, .ownerForm { grid-template-columns: 1fr; }
  .propertyPhoto { height: 176px; }
  .detailHero { padding: 34px 4vw 18px; }
  .detailPhoto { min-height: 300px; }
  .conditionsGrid { grid-template-columns: 1fr; }
  body { padding-bottom: 82px; }
  .footer { padding-bottom: 110px; }
  .mobileBar {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 40;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255,253,248,.94);
    box-shadow: var(--shadow);
    padding: 8px;
    backdrop-filter: blur(18px);
  }
  .mobileBar a { display: grid; min-height: 48px; place-items: center; border-radius: 15px; background: var(--primary); color: white; font-weight: 950; }
  .mobileBar a + a { background: white; color: var(--primary); border: 1px solid var(--line); }
}

/* Admin MVP */
.adminBody { background: #f8f4ec; }
.adminShell { width: min(1180px, 92vw); margin: 48px auto 80px; }
.adminLogin, .adminPanel { background: var(--panel); border: 1px solid var(--line); border-radius: 32px; box-shadow: var(--shadow); padding: 28px; }
.adminLogin h1, .adminHead h1 { margin: 0 0 8px; }
.adminLogin p { margin: 0 0 18px; color: var(--muted); }
.adminLoginRow { display: grid; grid-template-columns: 1fr auto; gap: 12px; }
.adminLoginRow input { min-height: 52px; border: 1px solid var(--line); border-radius: 16px; padding: 0 16px; background: #fff; }
.adminHead { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.adminActions { display: flex; gap: 8px; flex-wrap: wrap; }
.smallBtn.danger { background: #fff4f4; color: #9b2c2c; }
.adminStatus { padding: 14px 16px; border-radius: 18px; background: var(--soft); color: var(--muted); font-weight: 800; margin-bottom: 18px; }
.adminGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.adminColumn { min-width: 0; }
.adminColumn h2 { margin: 0 0 14px; font-size: 22px; }
.adminList { display: grid; gap: 12px; }
.adminCard { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 16px; }
.adminCard p { margin: 8px 0; color: var(--muted); }
.adminCardTop { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.adminCardTop b { font-size: 16px; }
.adminCardTop small { padding: 6px 10px; border-radius: 999px; background: var(--soft); font-weight: 900; }
.adminMatches { display: grid; gap: 6px; margin-top: 10px; }
.adminMatches span { background: var(--soft); border-radius: 12px; padding: 8px 10px; font-size: 13px; }
.adminButtons { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.adminButtons button { border: 1px solid var(--line); background: #fff; border-radius: 14px; padding: 10px 12px; font-weight: 900; cursor: pointer; }
.adminButtons button:first-child { background: var(--primary); color: #fff; border-color: var(--primary); }
.ownerForm .wide { grid-column: 1 / -1; }
@media (max-width: 820px) {
  .adminGrid, .adminLoginRow { grid-template-columns: 1fr; }
  .adminHead { align-items: flex-start; flex-direction: column; }
}

/* StayArmenia site smart request update v9 */
button, input, select, textarea { font: inherit; }
textarea {
  width: 100%;
  min-height: 96px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
  padding: 13px 14px;
  color: var(--text);
  outline: none;
  resize: vertical;
}
textarea:focus { border-color: rgba(47,111,97,.45); box-shadow: 0 0 0 4px rgba(47,111,97,.08); }
.smartChips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 2px;
}
.smartChips button {
  border: 1px solid rgba(47,111,97,.16);
  border-radius: 999px;
  background: rgba(47,111,97,.07);
  color: var(--primary);
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
.smartChips button:hover { background: rgba(47,111,97,.13); }
.ownerForm .wide { grid-column: span 2; }
.ownerForm textarea { min-height: 86px; }
.mobileBar { display: none !important; }
@media (max-width: 720px) {
  body { padding-bottom: 0 !important; }
  .footer { padding-bottom: 32px !important; }
  .mobileBar { display: none !important; }
  .smartChips { gap: 6px; }
  .smartChips button { padding: 7px 9px; }
}
@media (max-width: 720px) { .ownerForm .wide { grid-column: 1 / -1; } }


/* StayArmenia V12 recommended home cards under search */
.quickRecommendations { margin-top: 16px; }
.quickRecHead { margin-bottom: 12px; }
.quickRecHead span, .quickRecChips { display: none !important; }
.quickRecCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
}
.quickHomeCard {
  overflow: hidden;
  padding: 0;
  gap: 0;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(39,49,44,.08);
}
.quickHomeCard:hover { transform: translateY(-2px); }
.quickRecImage {
  height: 132px;
  background: linear-gradient(135deg, #e9eadf, #f8f2e7);
  overflow: hidden;
}
.quickRecImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.quickRecCardBody {
  display: grid;
  gap: 5px;
  padding: 12px 13px 14px;
}
@media (max-width: 900px) {
  .quickRecCards { grid-template-columns: 1fr; }
  .quickRecImage { height: 168px; }
}

/* V14 contact buttons */
.contactButtons{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}.contactBtn{display:flex;align-items:center;justify-content:center;border:1px solid rgba(36,59,48,.18);background:#f4f8f4;color:#243b30;text-decoration:none;border-radius:14px;padding:12px 14px;font-weight:800}.contactBtn:hover{background:#eaf2eb}


/* StayArmenia V16 contacts page */
.navLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  color: var(--primary-dark);
  font-weight: 950;
}
.navLink.active, .navLink:hover { background: rgba(47,111,97,.1); }
.footer a { color: var(--primary); font-weight: 950; }
.contactPage .section { padding-left: 5vw; padding-right: 5vw; }
.contactHero { padding-top: 78px; padding-bottom: 24px; }
.contactHeroInner { width: min(1040px, 100%); margin: 0 auto; }
.contactHero h1 { max-width: 860px; }
.contactGridSection { padding-top: 18px; }
.contactGrid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.contactCard {
  display: grid;
  align-content: start;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--panel);
  padding: 22px;
  box-shadow: 0 16px 50px rgba(39,49,44,.08);
}
.contactCard h2 { font-size: 25px; }
.contactCard p { margin: 0; color: var(--muted); line-height: 1.55; }
.contactIcon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: rgba(47,111,97,.1);
  font-size: 24px;
}
.contactFormSection { padding-top: 10px; }
.contactFormPanel {
  width: min(900px, 100%);
  margin: 0 auto;
  border: 1px solid var(--line);
  border-radius: 32px;
  background: var(--panel);
  padding: 22px;
  box-shadow: var(--shadow);
}
.contactFormHead { margin-bottom: 16px; }
.contactForm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.contactForm .wide { grid-column: 1 / -1; }
.contactForm .btn { width: fit-content; min-width: 180px; }
.contactStatus { margin: 0; align-self: center; color: var(--primary); font-weight: 950; }
@media (max-width: 900px) {
  .contactGrid { grid-template-columns: 1fr; }
  .contactForm { grid-template-columns: 1fr; }
  .contactForm .btn { width: 100%; }
}
@media (max-width: 720px) {
  .navLink { min-height: 38px; padding: 8px 10px; font-size: 13px; }
  .contactHero { padding-top: 42px; }
  .contactCard, .contactFormPanel { border-radius: 24px; padding: 16px; }
}

/* StayArmenia V18 Nearby Map Search */
.nearbyPanel {
  grid-column: 1 / -1;
  display: none;
  border: 1px solid rgba(47,111,97,.18);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(244,248,244,.92));
  padding: 14px;
  box-shadow: 0 18px 44px rgba(39,49,44,.08);
}
.nearbyPanel.active { display: grid; gap: 12px; }
.nearbyPanelTop { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nearbyPanelTop b { display: block; font-size: 18px; color: var(--text); }
.nearbyPanelTop span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 750; }
.radiusControl { min-width: 190px; color: var(--muted); font-weight: 950; font-size: 13px; }
.radiusControl select { margin-top: 6px; width: 100%; min-height: 46px; border-radius: 16px; border: 1px solid var(--line); background: #fff; color: var(--primary-dark); padding: 10px 12px; font-weight: 950; }
.nearbyMap { position: relative; height: 300px; min-height: 300px; border-radius: 22px; overflow: hidden; border: 1px solid rgba(36,59,48,.12); background: #dfeae2; }
.nearbyMap .leaflet-container, .nearbyMap.leaflet-container { width: 100%; height: 300px; }
.mapFallback { position: absolute; inset: 0; overflow: hidden; background:
  radial-gradient(circle at 50% 50%, rgba(47,111,97,.10) 0 22%, transparent 23%),
  radial-gradient(circle at 54% 42%, rgba(255,255,255,.82), transparent 34%),
  linear-gradient(135deg, #d9e8dd, #f7f1e6 55%, #d8e3d9); }
.mapFallback::before { content: ""; position: absolute; inset: 18px; border-radius: 999px; border: 2px dashed rgba(47,111,97,.36); }
.fallbackRadius { position: absolute; border-radius: 999px; background: rgba(47,111,97,.08); border: 2px dashed rgba(47,111,97,.30); transition: width .18s ease, height .18s ease, left .18s ease, top .18s ease; }
.fallbackCenter { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 4px; color: var(--primary-dark); font-size: 12px; font-weight: 950; }
.fallbackRadiusLabel { position: absolute; right: 16px; top: 14px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--primary-dark); padding: 6px 10px; font-size: 12px; font-weight: 950; box-shadow: 0 8px 18px rgba(39,49,44,.08); }
.fallbackCenter span { width: 18px; height: 18px; border-radius: 999px; background: var(--primary); box-shadow: 0 0 0 8px rgba(47,111,97,.16); }
.fallbackMarker { position: absolute; transform: translate(-50%, -100%); display: grid; gap: 3px; min-width: 118px; text-align: center; text-decoration: none; color: var(--text); z-index: 4; }
.fallbackMarker span { justify-self: center; width: 16px; height: 16px; border-radius: 999px 999px 999px 0; transform: rotate(-45deg); background: #243b30; box-shadow: 0 8px 18px rgba(0,0,0,.18); }
.fallbackMarker b, .fallbackMarker small { display: block; border-radius: 999px; background: rgba(255,255,255,.92); padding: 3px 8px; box-shadow: 0 8px 18px rgba(39,49,44,.08); }
.fallbackMarker b { font-size: 12px; }
.fallbackMarker small { color: var(--muted); font-size: 11px; font-weight: 850; }
.fallbackEmpty { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); border-radius: 18px; background: rgba(255,255,255,.92); padding: 12px 14px; font-weight: 950; color: var(--primary-dark); }
.nearbyMapNote { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.4; font-weight: 750; }
@media (max-width: 720px) {
  .nearbyPanel { padding: 12px; border-radius: 20px; }
  .nearbyPanelTop { display: grid; }
  .radiusControl { min-width: 0; }
  .nearbyMap, .nearbyMap .leaflet-container, .nearbyMap.leaflet-container { min-height: 240px; height: 240px; }
  .fallbackMarker { min-width: 92px; }
}


/* StayArmenia V19 trust pages and footer */
.topActions{flex-wrap:wrap;justify-content:flex-end}.footerLinks{display:inline-flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.footerLinks a{display:inline-flex}.trustPage .section{padding-left:5vw;padding-right:5vw}.trustHero{padding-top:78px;padding-bottom:24px}.trustGridSection{padding-top:18px}.trustGrid,.trustSteps{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.trustSteps{grid-template-columns:repeat(4,minmax(0,1fr))}.trustCard{display:grid;align-content:start;gap:14px;border:1px solid var(--line);border-radius:30px;background:var(--panel);padding:22px;box-shadow:0 16px 50px rgba(39,49,44,.08)}.trustCard h2{font-size:25px}.trustCard p{margin:0;color:var(--muted);line-height:1.55}.trustActions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.privacyGrid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1050px){.topActions{gap:8px}.navLink{padding:8px 10px;font-size:13px}.navCta{padding:0 12px}}@media(max-width:900px){.trustGrid,.trustSteps,.privacyGrid{grid-template-columns:1fr}.trustHero{padding-top:42px}.trustCard{border-radius:24px;padding:16px}.trustActions .btn{width:100%}}

/* StayArmenia V22 top offer placeholder rail */
.quickRecommendations.topOffersBlock,
.quickRecommendations {
  overflow: hidden;
}
.quickRecCards {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 14px;
  overflow-x: auto;
  padding: 2px 2px 12px;
  margin-top: 0;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.quickRecCards::-webkit-scrollbar { height: 7px; }
.quickRecCards::-webkit-scrollbar-thumb { background: rgba(47,111,97,.22); border-radius: 999px; }
.quickHomeCard {
  flex: 0 0 285px;
  scroll-snap-align: start;
}
.quickRecImage { height: 158px; }
.quickRecCardBody span { min-height: 16px; }
.quickRecCardBody b { line-height: 1.18; }
@media (max-width: 720px) {
  .quickHomeCard { flex-basis: 255px; }
  .quickRecImage { height: 150px; }
}


/* StayArmenia V23 hero + top offers fix */
.visualHero { min-height: max(640px, calc(100svh - 72px)); }
.heroMedia, .heroImage { display: block !important; opacity: 1 !important; }
.heroImage {
  background:
    linear-gradient(90deg, rgba(248,244,236,.78) 0%, rgba(248,244,236,.48) 42%, rgba(248,244,236,.08) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room.webp') center center / cover no-repeat !important;
}
.quickRecommendations { overflow: visible !important; }
.quickRecCards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
}
.quickHomeCard {
  flex: initial !important;
  width: auto !important;
  scroll-snap-align: none !important;
}
.quickRecImage { height: 164px; }
@media (max-width: 900px) {
  .quickRecCards { grid-template-columns: 1fr !important; }
  .quickRecImage { height: 178px; }
}


/* StayArmenia V23.2 mobile hero hard fix */
.visualHero {
  background:
    linear-gradient(90deg, rgba(248,244,236,.78) 0%, rgba(248,244,236,.48) 42%, rgba(248,244,236,.08) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room.webp') center center / cover no-repeat !important;
}
.heroMedia {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.heroImage {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background-image:
    linear-gradient(90deg, rgba(248,244,236,.78) 0%, rgba(248,244,236,.48) 42%, rgba(248,244,236,.08) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room.webp') !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.heroCopy { position: relative !important; z-index: 2 !important; }
@media (max-width: 720px) {
  .visualHero {
    min-height: 760px !important;
    padding-top: 34px !important;
    padding-bottom: 26px !important;
    background:
      linear-gradient(180deg, rgba(248,244,236,.60) 0%, rgba(248,244,236,.70) 42%, rgba(248,244,236,.96) 100%),
      url('../assets/hero/stayarmenia-hero-sun-room.webp') center top / cover no-repeat !important;
  }
  .heroMedia, .heroImage {
    display: block !important;
    min-height: 760px !important;
  }
  .heroImage {
    background:
      linear-gradient(180deg, rgba(248,244,236,.60) 0%, rgba(248,244,236,.70) 42%, rgba(248,244,236,.96) 100%),
      url('../assets/hero/stayarmenia-hero-sun-room.webp') center top / cover no-repeat !important;
  }
  .heroMedia::after {
    background: linear-gradient(180deg, rgba(248,244,236,.36), rgba(248,244,236,.74) 58%, rgba(248,244,236,.98)) !important;
  }
}

/* StayArmenia V23.3 mobile header compact fix */
@media (max-width: 720px) {
  body { overflow-x: hidden; }
  .topbar.cleanTopbar,
  .topbar {
    min-height: 86px !important;
    padding: 12px 4vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  .brand {
    flex: 0 0 auto !important;
    max-width: 156px !important;
    gap: 8px !important;
    font-size: 20px !important;
    line-height: 1.05 !important;
  }
  .brand span:last-child {
    display: inline-block !important;
    max-width: 105px !important;
    white-space: normal !important;
  }
  .mark {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 15px !important;
  }
  .topActions {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin-left: 0 !important;
    min-width: 0 !important;
  }
  .topActions .navLink,
  .topActions .navCta {
    display: none !important;
  }
  .langSwitch {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    padding: 4px !important;
    max-width: calc(100vw - 190px) !important;
  }
  .langSwitch button {
    min-width: 0 !important;
    padding: 8px 9px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .visualHero {
    min-height: auto !important;
    padding-top: 34px !important;
    padding-bottom: 28px !important;
  }
  .eyebrow {
    max-width: 100% !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    padding: 9px 12px !important;
    white-space: normal !important;
  }
  h1 {
    font-size: clamp(42px, 12vw, 56px) !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }
  .lead {
    font-size: 18px !important;
    line-height: 1.55 !important;
    margin-top: 16px !important;
  }
  .mainSearch {
    margin-top: 22px !important;
  }
}

@media (max-width: 390px) {
  .brand { max-width: 142px !important; font-size: 19px !important; }
  .brand span:last-child { max-width: 94px !important; }
  .langSwitch button { padding: 7px 7px !important; font-size: 11px !important; }
  h1 { font-size: clamp(39px, 12vw, 52px) !important; }
}


/* StayArmenia V24 hero, search modes and owner contact CTA */
.visualHero {
  background:
    linear-gradient(90deg, rgba(248,244,236,.68) 0%, rgba(248,244,236,.40) 42%, rgba(248,244,236,.10) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room-v24.webp') center center / cover no-repeat !important;
}
.heroImage {
  background:
    linear-gradient(90deg, rgba(248,244,236,.68) 0%, rgba(248,244,236,.40) 42%, rgba(248,244,236,.10) 78%),
    url('../assets/hero/stayarmenia-hero-sun-room-v24.webp') center center / cover no-repeat !important;
}
.heroMedia::after {
  background:
    linear-gradient(90deg, rgba(248,244,236,.76) 0%, rgba(248,244,236,.48) 46%, rgba(248,244,236,.14) 78%, rgba(248,244,236,.05) 100%),
    linear-gradient(0deg, rgba(248,244,236,.72), transparent 50%) !important;
}
.heroCopy > .eyebrow {
  background: rgba(255,253,248,.96) !important;
  border-color: rgba(47,111,97,.28) !important;
  color: #1f6658 !important;
  box-shadow: 0 14px 34px rgba(31, 77, 65, .12) !important;
  font-size: 13px !important;
  letter-spacing: .075em !important;
}
.searchModeSwitch {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
  border: 1px solid rgba(47,111,97,.16);
  border-radius: 22px;
  background: rgba(47,111,97,.055);
}
.modeBtn {
  min-height: 48px;
  border: 0;
  border-radius: 17px;
  background: transparent;
  color: var(--primary-dark);
  font-weight: 950;
  cursor: pointer;
}
.modeBtn.active {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 12px 28px rgba(47,111,97,.20);
}
.mainSearch.nearbyActive .citySearchField { display: none !important; }
.mainSearch.nearbyActive .nearbyPanel { display: grid; gap: 12px; }
.mainSearch:not(.nearbyActive) .nearbyPanel { display: none !important; }
.ownerContactsTitle {
  margin: 12px 0 0;
  color: var(--text);
  font-weight: 950;
}
.noContactButtons {
  display: grid !important;
  gap: 10px;
}
.noContactButtons span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 850;
}
@media (max-width: 720px) {
  .visualHero {
    min-height: 720px !important;
    padding-top: 32px !important;
    padding-bottom: 28px !important;
    background:
      linear-gradient(180deg, rgba(248,244,236,.34) 0%, rgba(248,244,236,.58) 38%, rgba(248,244,236,.96) 100%),
      url('../assets/hero/stayarmenia-hero-sun-room-mobile-v24.webp') center center / cover no-repeat !important;
  }
  .heroImage {
    min-height: 720px !important;
    background:
      linear-gradient(180deg, rgba(248,244,236,.34) 0%, rgba(248,244,236,.58) 38%, rgba(248,244,236,.96) 100%),
      url('../assets/hero/stayarmenia-hero-sun-room-mobile-v24.webp') center center / cover no-repeat !important;
  }
  .heroMedia::after {
    background: linear-gradient(180deg, rgba(248,244,236,.18), rgba(248,244,236,.64) 54%, rgba(248,244,236,.98)) !important;
  }
  .heroCopy > .eyebrow {
    font-size: 11px !important;
    line-height: 1.28 !important;
    padding: 10px 13px !important;
    max-width: 94vw !important;
  }
  .searchModeSwitch {
    grid-template-columns: 1fr;
    border-radius: 20px;
  }
  .modeBtn { min-height: 46px; }
  .mainSearch.nearbyActive { grid-template-columns: 1fr !important; }
}


/* StayArmenia V25 final visual + nearby search corrections */
.heroPhotoWrap,
.heroPhoto {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.heroPhoto { object-fit: cover; object-position: center center; }
.visualHero {
  background: url('../assets/hero/stayarmenia-hero-room-clear-v25.webp') center center / cover no-repeat !important;
}
.heroImage {
  background: url('../assets/hero/stayarmenia-hero-room-clear-v25.webp') center center / cover no-repeat !important;
  opacity: 1 !important;
}
.heroMedia::after {
  background:
    linear-gradient(90deg, rgba(248,244,236,.64) 0%, rgba(248,244,236,.38) 45%, rgba(248,244,236,.10) 78%, rgba(248,244,236,.02) 100%),
    linear-gradient(0deg, rgba(248,244,236,.74), transparent 48%) !important;
}
.heroCopy > .eyebrow {
  background: rgba(47,111,97,.96) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.52) !important;
  box-shadow: 0 16px 34px rgba(20, 59, 50, .24) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.12) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  letter-spacing: .07em !important;
}
.nearbyControls {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(120px, .8fr);
  gap: 10px;
  align-items: end;
}
.nearbyMapNote,
.searchStatus { display: none !important; }
.mainSearch.nearbyActive .citySearchField { display: none !important; }
@media (max-width: 720px) {
  .visualHero {
    min-height: auto !important;
    padding-top: 28px !important;
    padding-bottom: 26px !important;
    background: url('../assets/hero/stayarmenia-hero-room-clear-mobile-v25.webp') center center / cover no-repeat !important;
  }
  .heroPhoto { object-position: center center; }
  .heroImage {
    background: url('../assets/hero/stayarmenia-hero-room-clear-mobile-v25.webp') center center / cover no-repeat !important;
  }
  .heroMedia::after {
    background:
      linear-gradient(180deg, rgba(248,244,236,.16) 0%, rgba(248,244,236,.35) 34%, rgba(248,244,236,.78) 78%, rgba(248,244,236,.95) 100%) !important;
  }
  .heroCopy > .eyebrow {
    font-size: 12px !important;
    padding: 10px 13px !important;
    max-width: calc(100vw - 42px) !important;
  }
  .searchModeSwitch { grid-template-columns: 1fr 1fr !important; }
  .nearbyControls { grid-template-columns: 1fr !important; }
  .nearbyPanelTop { gap: 12px !important; }
}


/* StayArmenia V26 mobile-first hero + clean search modes */
.heroCopy > .eyebrow {
  background: rgba(47,111,97,.98) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 18px 42px rgba(20,59,50,.30), inset 0 1px 0 rgba(255,255,255,.20) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.16) !important;
  font-weight: 1000 !important;
}
.searchModeSwitch {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  padding: 6px !important;
  border: 1px solid rgba(47,111,97,.18) !important;
  border-radius: 22px !important;
  background: rgba(47,111,97,.055) !important;
}
.modeBtn {
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 17px !important;
  background: transparent !important;
  color: var(--primary-dark) !important;
  font-weight: 1000 !important;
  cursor: pointer !important;
}
.modeBtn.active {
  background: var(--primary) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(47,111,97,.22) !important;
}
.mainSearch.nearbyActive .citySearchField { display: none !important; }
.mainSearch.nearbyActive .nearbyPanel { display: grid !important; gap: 12px !important; }
.mainSearch:not(.nearbyActive) .nearbyPanel { display: none !important; }
.nearbyPanelTop span { color: #5f6b63 !important; }
.nearbyMapNote, .searchStatus { display: none !important; }

@media (max-width: 720px) {
  .visualHero {
    display: block !important;
    min-height: 0 !important;
    padding: 0 0 28px !important;
    background: var(--bg) !important;
    overflow: visible !important;
  }
  .heroMedia {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(280px, 52vh, 390px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 0 0 32px 32px !important;
    background: url('../assets/hero/stayarmenia-hero-room-clear-mobile-v25.webp?v=20260625v26_mobile_first_hero_search_modes') center center / cover no-repeat !important;
    box-shadow: 0 18px 48px rgba(39,49,44,.16) !important;
  }
  .heroPhotoWrap,
  .heroPhoto,
  .heroImage {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    min-height: 0 !important;
  }
  .heroPhotoWrap { z-index: 1 !important; }
  .heroPhoto {
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
  }
  .heroImage {
    z-index: 0 !important;
    background: url('../assets/hero/stayarmenia-hero-room-clear-mobile-v25.webp?v=20260625v26_mobile_first_hero_search_modes') center center / cover no-repeat !important;
    opacity: 1 !important;
  }
  .heroMedia::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.04)) !important;
  }
  .heroCopy {
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4vw !important;
  }
  .heroCopy > .eyebrow {
    margin: -30px 0 16px !important;
    max-width: calc(100vw - 40px) !important;
    padding: 10px 14px !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
    letter-spacing: .065em !important;
    border-radius: 999px !important;
  }
  h1 {
    max-width: 100% !important;
    font-size: clamp(36px, 10.7vw, 47px) !important;
    line-height: .98 !important;
    letter-spacing: -.052em !important;
    color: var(--text) !important;
  }
  .lead {
    max-width: 100% !important;
    margin-top: 14px !important;
    color: #53615a !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
  .mainSearch {
    margin-top: 18px !important;
    padding: 16px !important;
    border-radius: 26px !important;
    background: rgba(255,253,248,.98) !important;
  }
  .searchIntro {
    display: grid !important;
    gap: 4px !important;
    padding: 0 2px 2px !important;
  }
  .searchIntro b { font-size: 24px !important; line-height: 1.08 !important; }
  .searchIntro span { font-size: 13px !important; line-height: 1.35 !important; }
  .searchModeSwitch {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    padding: 7px !important;
    border-radius: 22px !important;
  }
  .modeBtn {
    min-height: 50px !important;
    font-size: 16px !important;
  }
  .nearbyPanel {
    padding: 12px !important;
    border-radius: 22px !important;
  }
  .nearbyPanelTop {
    display: grid !important;
    gap: 12px !important;
  }
  .nearbyPanelTop b { font-size: 18px !important; }
  .nearbyPanelTop span { font-size: 13px !important; line-height: 1.35 !important; }
  .nearbyControls { grid-template-columns: 1fr !important; }
  .nearbyMap,
  .nearbyMap .leaflet-container,
  .nearbyMap.leaflet-container {
    min-height: 245px !important;
    height: 245px !important;
  }
}

@media (max-width: 390px) {
  .heroMedia { height: 300px !important; }
  h1 { font-size: clamp(34px, 10.4vw, 43px) !important; }
  .lead { font-size: 15.5px !important; }
}


/* StayArmenia V27 clean hero background + no large hero title */
.heroCopy > h1,
.heroCopy [data-i18n="heroTitle"] {
  display: none !important;
}
.visualHero {
  position: relative !important;
  overflow: hidden !important;
}
.visualHero .heroMedia {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: url('../assets/hero/stayarmenia-hero-room-bg-v27.webp?v=20260625v27_clean_hero_background') center center / cover no-repeat !important;
}
.visualHero .heroPhotoWrap,
.visualHero .heroPhoto,
.visualHero .heroImage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  display: block !important;
  border-radius: 0 !important;
}
.visualHero .heroPhoto {
  object-fit: cover !important;
  object-position: center center !important;
}
.visualHero .heroImage {
  background: url('../assets/hero/stayarmenia-hero-room-bg-v27.webp?v=20260625v27_clean_hero_background') center center / cover no-repeat !important;
}
.visualHero .heroMedia::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  background:
    linear-gradient(90deg, rgba(248,244,236,.88) 0%, rgba(248,244,236,.64) 36%, rgba(248,244,236,.22) 72%, rgba(248,244,236,.10) 100%),
    linear-gradient(180deg, rgba(22,32,29,.10) 0%, rgba(22,32,29,.02) 44%, rgba(248,244,236,.72) 100%) !important;
}
.visualHero .heroCopy {
  position: relative !important;
  z-index: 4 !important;
}
.heroCopy > .eyebrow {
  margin-bottom: 18px !important;
}
.heroCopy > .lead {
  margin-top: 0 !important;
  max-width: 720px !important;
  color: rgba(37,52,47,.78) !important;
}
@media (max-width: 720px) {
  .visualHero {
    display: block !important;
    min-height: auto !important;
    padding: 34px 4vw 28px !important;
    background: url('../assets/hero/stayarmenia-hero-room-bg-mobile-v27.webp?v=20260625v27_clean_hero_background') center center / cover no-repeat !important;
  }
  .visualHero .heroMedia {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: url('../assets/hero/stayarmenia-hero-room-bg-mobile-v27.webp?v=20260625v27_clean_hero_background') center center / cover no-repeat !important;
  }
  .visualHero .heroPhoto {
    object-fit: cover !important;
    object-position: center center !important;
  }
  .visualHero .heroImage {
    background: url('../assets/hero/stayarmenia-hero-room-bg-mobile-v27.webp?v=20260625v27_clean_hero_background') center center / cover no-repeat !important;
  }
  .visualHero .heroMedia::after {
    background:
      linear-gradient(180deg, rgba(248,244,236,.34) 0%, rgba(248,244,236,.46) 34%, rgba(248,244,236,.82) 74%, rgba(248,244,236,.95) 100%) !important;
  }
  .visualHero .heroCopy {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .heroCopy > .eyebrow {
    margin: 0 0 16px !important;
    max-width: calc(100vw - 40px) !important;
    padding: 10px 14px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    letter-spacing: .06em !important;
    border-radius: 999px !important;
  }
  .heroCopy > .lead {
    max-width: 100% !important;
    margin: 0 0 16px !important;
    padding: 12px 14px !important;
    border-radius: 22px !important;
    background: rgba(255,253,248,.72) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    color: rgba(37,52,47,.74) !important;
    font-size: 15.5px !important;
    line-height: 1.45 !important;
  }
  .mainSearch {
    margin-top: 12px !important;
    background: rgba(255,253,248,.96) !important;
  }
}
@media (max-width: 390px) {
  .heroCopy > .lead {
    font-size: 15px !important;
  }
}

/* StayArmenia V30 mobile polish + cleaner first screen */
@media (max-width: 720px) {
  .topbar.cleanTopbar,
  .topbar {
    min-height: 64px !important;
    padding: 10px 4vw !important;
  }
  .topActions .navLink,
  .topActions .navCta { display: none !important; }
  .brand { font-size: 18px !important; }
  .langSwitch { gap: 4px !important; padding: 5px !important; }
  .langSwitch button { min-height: 38px !important; padding: 8px 10px !important; font-size: 13px !important; }
  .visualHero { padding: 28px 4vw 22px !important; }
  .visualHero .heroCopy { gap: 12px !important; }
  .heroCopy > .eyebrow {
    width: auto !important;
    max-width: 100% !important;
    padding: 10px 13px !important;
    font-size: 12px !important;
    line-height: 1.28 !important;
    letter-spacing: .04em !important;
  }
  .heroCopy > .lead {
    max-width: 100% !important;
    padding: 12px 13px !important;
    border-radius: 18px !important;
    background: rgba(255,253,248,.74) !important;
    color: rgba(32,49,43,.78) !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 800 !important;
    backdrop-filter: blur(10px) !important;
  }
  .mainSearch.cleanSearch,
  .mainSearch {
    margin-top: 14px !important;
    padding: 14px !important;
    border-radius: 26px !important;
    box-shadow: 0 18px 44px rgba(39,49,44,.12) !important;
  }
  .searchIntro b { font-size: 23px !important; line-height: 1.08 !important; }
  .searchIntro span { font-size: 14px !important; line-height: 1.35 !important; }
  .searchModeSwitch {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    padding: 5px !important;
    border-radius: 20px !important;
    background: rgba(47,111,97,.08) !important;
  }
  .modeBtn {
    min-height: 48px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }
  .searchField span,
  .radiusControl span { font-size: 13px !important; }
  input, select, textarea { font-size: 16px !important; }
  .searchActions { gap: 9px !important; }
  .searchSubmit { min-height: 56px !important; border-radius: 18px !important; font-size: 16px !important; }
  .nearbyPanel { margin-top: 2px !important; }
  .nearbyControls { grid-template-columns: 1fr !important; }
  .nearbyMap { min-height: 230px !important; }
  .quickRecommendations { margin-top: 12px !important; }
  .quickRecCards { grid-template-columns: 1fr !important; }
  .propertyGrid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .propertyPhoto { height: 210px !important; }
  .cardBody { padding: 15px !important; }
  .catalogMeta { display: grid !important; gap: 10px !important; }
}


/* V32 property gallery */
.propertyGallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}.galleryThumb{border:1px solid var(--line);background:#fff;border-radius:14px;padding:4px;cursor:pointer;overflow:hidden}.galleryThumb.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(47,126,102,.16)}.galleryThumb img{display:block;width:100%;height:72px;object-fit:cover;border-radius:10px}@media(max-width:700px){.propertyGallery{grid-template-columns:repeat(4,minmax(0,1fr))}.galleryThumb img{height:58px}}

/* V33 property gallery slider */
.detailGallery{display:grid;gap:10px}.detailPhotoMain{position:relative;overflow:hidden;background:#f3eee5}.detailPhotoMain img{display:block;width:100%;height:100%;object-fit:cover}.galleryArrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:999px;background:rgba(255,255,255,.88);color:var(--primary-dark);font-size:30px;font-weight:800;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px rgba(24,38,35,.16);z-index:2}.galleryArrow.prev{left:12px}.galleryArrow.next{right:12px}.galleryCounter{position:absolute;right:12px;bottom:12px;border-radius:999px;background:rgba(24,38,35,.72);color:#fff;font-size:12px;font-weight:850;padding:7px 10px;z-index:2}.propertyGallery{display:flex!important;grid-template-columns:none!important;gap:8px;margin-top:0;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 2px 6px;-webkit-overflow-scrolling:touch}.galleryThumb{flex:0 0 86px;scroll-snap-align:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:4px;cursor:pointer;overflow:hidden}.galleryThumb.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(47,126,102,.18)}.galleryThumb img{display:block;width:100%;height:64px;object-fit:cover;border-radius:10px}@media(max-width:700px){.galleryArrow{width:38px;height:38px;font-size:27px}.galleryArrow.prev{left:8px}.galleryArrow.next{right:8px}.galleryCounter{right:8px;bottom:8px}.galleryThumb{flex-basis:78px}.galleryThumb img{height:56px}}

/* V34 robust gallery interactions */
.detailPhotoMain{touch-action:pan-y;user-select:none}.galleryArrow,.galleryThumb{touch-action:manipulation}.galleryArrow:active,.galleryThumb:active{transform:scale(.98)}.galleryArrow.prev:active,.galleryArrow.next:active{transform:translateY(-50%) scale(.98)}

/* V35 real StayArmenia logo */
.logoBrand {
  max-width: none !important;
  min-width: 0 !important;
  gap: 0 !important;
  flex-shrink: 0 !important;
}
.logoBrand .brandLogo {
  display: block;
  width: 210px;
  height: auto;
  max-height: 52px;
  object-fit: contain;
  padding: 5px 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(38,49,45,.10);
  box-shadow: 0 12px 28px rgba(39,49,44,.07);
}
@media (max-width: 720px) {
  .topbar .logoBrand,
  .brand.logoBrand {
    max-width: calc(100vw - 190px) !important;
    font-size: 0 !important;
  }
  .logoBrand .brandLogo {
    width: 148px;
    max-height: 44px;
    padding: 4px 7px;
    border-radius: 13px;
  }
}
@media (max-width: 390px) {
  .topbar .logoBrand,
  .brand.logoBrand { max-width: calc(100vw - 178px) !important; }
  .logoBrand .brandLogo { width: 132px; padding: 4px 6px; }
}

/* StayArmenia V37 mobile compact cleanup */
@media (max-width: 720px) {
  .topbar.cleanTopbar,
  .topbar {
    min-height: 64px !important;
    padding: 8px 4vw !important;
    gap: 8px !important;
  }
  .logoBrand,
  .brand {
    max-width: 138px !important;
  }
  .brandLogo {
    max-width: 138px !important;
    height: auto !important;
    display: block !important;
  }
  .langSwitch {
    max-width: calc(100vw - 160px) !important;
    gap: 2px !important;
    padding: 3px !important;
  }
  .langSwitch button {
    padding: 8px 8px !important;
    font-size: 12px !important;
    min-height: 40px !important;
  }
  .visualHero {
    padding-bottom: 18px !important;
  }
  .heroMedia {
    height: 185px !important;
    border-radius: 0 0 22px 22px !important;
  }
  .heroCopy {
    padding: 0 4vw !important;
  }
  .heroCopy > .eyebrow {
    margin: -20px 0 10px !important;
    padding: 8px 12px !important;
    font-size: 9.8px !important;
    line-height: 1.22 !important;
    letter-spacing: .04em !important;
    border-radius: 22px !important;
  }
  .lead {
    margin-top: 8px !important;
    padding: 16px 18px !important;
    border-radius: 22px !important;
    font-size: 15px !important;
    line-height: 1.42 !important;
    font-weight: 850 !important;
  }
  .mainSearch {
    margin-top: 14px !important;
    padding: 14px !important;
    border-radius: 24px !important;
  }
  .searchIntro b {
    font-size: 21px !important;
    line-height: 1.12 !important;
  }
  .searchIntro span {
    font-size: 12.5px !important;
  }
  .searchModeSwitch {
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    padding: 5px !important;
    border-radius: 20px !important;
  }
  .modeBtn {
    min-height: 48px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    padding: 0 8px !important;
    border-radius: 16px !important;
  }
  .searchField span,
  .ownerForm span {
    font-size: 13px !important;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  .searchField input,
  .searchField select,
  .ownerForm input,
  .ownerForm select,
  .ownerForm textarea {
    min-height: 54px !important;
    padding: 0 14px !important;
    border-radius: 18px !important;
  }
  .smartChips {
    gap: 7px !important;
  }
  .smartChips button,
  .quickRecChips button {
    padding: 9px 12px !important;
    font-size: 12.5px !important;
    border-radius: 999px !important;
  }
}

@media (max-width: 390px) {
  .heroMedia { height: 170px !important; }
  .brandLogo { max-width: 126px !important; }
  .langSwitch { max-width: calc(100vw - 146px) !important; }
  .langSwitch button { padding: 7px 6px !important; font-size: 11px !important; }
  .lead { font-size: 14px !important; padding: 14px 16px !important; }
  .searchIntro b { font-size: 19px !important; }
  .modeBtn { font-size: 13px !important; }
}


/* StayArmenia V38 real mobile + owner/Telegram cleanup */
.ownerEntryCard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,253,248,.92);
  box-shadow: var(--shadow);
  padding: 22px;
}
.ownerEntryCard div { display: grid; gap: 6px; }
.ownerEntryCard b { font-size: 22px; letter-spacing: -.03em; }
.ownerEntryCard span { color: var(--muted); font-weight: 800; }

@media (max-width: 720px) {
  body { background: #fffdf8 !important; }
  .topbar.cleanTopbar,
  .topbar {
    min-height: 64px !important;
    padding: 10px 4vw !important;
    gap: 10px !important;
    background: rgba(255,253,248,.96) !important;
    border-bottom: 1px solid rgba(38,49,45,.08) !important;
  }
  .topActions { flex: 1 1 auto !important; justify-content: flex-end !important; min-width: 0 !important; }
  .topActions .navLink,
  .topActions .navCta { display: none !important; }
  .logoBrand,
  .brand.logoBrand { max-width: 132px !important; flex: 0 0 132px !important; }
  .logoBrand .brandLogo,
  .brandLogo {
    width: 132px !important;
    max-width: 132px !important;
    max-height: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .langSwitch {
    flex: 0 1 214px !important;
    max-width: calc(100vw - 160px) !important;
    height: 46px !important;
    padding: 4px !important;
    gap: 3px !important;
    background: rgba(255,255,255,.92) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 24px rgba(39,49,44,.06) !important;
  }
  .langSwitch button {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 0 6px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .visualHero {
    min-height: auto !important;
    padding: 28px 4vw 22px !important;
    background: #fffdf8 url('../assets/hero/stayarmenia-hero-room-bg-mobile-v27.webp?v=20260630v39LogoHomeOwnerContacts') center top / cover no-repeat !important;
  }
  .visualHero .heroMedia {
    position: absolute !important;
    inset: 0 !important;
    height: 100% !important;
    min-height: 100% !important;
    background: url('../assets/hero/stayarmenia-hero-room-bg-mobile-v27.webp?v=20260630v39LogoHomeOwnerContacts') center top / cover no-repeat !important;
  }
  .visualHero .heroMedia::after {
    background:
      linear-gradient(180deg, rgba(18,32,28,.18) 0%, rgba(18,32,28,.08) 28%, rgba(248,244,236,.76) 58%, rgba(248,244,236,.97) 100%) !important;
  }
  .visualHero .heroCopy {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    gap: 10px !important;
  }
  .heroCopy > .eyebrow {
    margin: 0 !important;
    width: min(100%, 340px) !important;
    max-width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-shadow: 0 2px 16px rgba(0,0,0,.38) !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
    letter-spacing: -.03em !important;
    text-transform: none !important;
  }
  .heroCopy > .lead,
  .lead {
    margin: 2px 0 0 !important;
    width: min(100%, 330px) !important;
    max-width: 100% !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,.92) !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.32) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 850 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .mainSearch.cleanSearch,
  .mainSearch {
    margin-top: 122px !important;
    padding: 14px !important;
    border-radius: 24px !important;
    gap: 10px !important;
    background: rgba(255,253,248,.98) !important;
    box-shadow: 0 18px 48px rgba(39,49,44,.14) !important;
    border-color: rgba(38,49,45,.10) !important;
  }
  .searchIntro {
    display: grid !important;
    gap: 4px !important;
    padding: 0 2px 2px !important;
  }
  .searchIntro b {
    font-size: 21px !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
  }
  .searchIntro span {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }
  .searchModeSwitch {
    grid-template-columns: 1fr 1fr !important;
    gap: 5px !important;
    padding: 4px !important;
    border-radius: 18px !important;
  }
  .modeBtn {
    min-height: 44px !important;
    border-radius: 15px !important;
    font-size: 13px !important;
    line-height: 1.12 !important;
    padding: 0 8px !important;
  }
  .searchField span,
  .radiusControl span,
  .ownerForm span {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
  .searchField input,
  .searchField select,
  .ownerForm input,
  .ownerForm select,
  .ownerForm textarea {
    min-height: 50px !important;
    padding: 0 13px !important;
    border-radius: 16px !important;
    font-size: 16px !important;
  }
  .smartChips { gap: 6px !important; }
  .smartChips button,
  .quickRecChips button {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
  .searchActions {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  .searchSubmit,
  .btn {
    min-height: 52px !important;
    border-radius: 17px !important;
    font-size: 15px !important;
  }
  .ownerEntryCard {
    display: grid !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }
  .ownerEntryCard b { font-size: 18px !important; }
  .ownerEntryCard span { font-size: 13px !important; }
}

@media (max-width: 390px) {
  .logoBrand,
  .brand.logoBrand { max-width: 118px !important; flex-basis: 118px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 118px !important; max-width: 118px !important; }
  .langSwitch { max-width: calc(100vw - 142px) !important; height: 44px !important; }
  .langSwitch button { font-size: 11px !important; padding: 0 4px !important; }
  .heroCopy > .eyebrow { font-size: 21px !important; width: 310px !important; }
  .heroCopy > .lead,
  .lead { font-size: 13px !important; width: 300px !important; }
  .mainSearch.cleanSearch,
  .mainSearch { margin-top: 102px !important; padding: 12px !important; }
  .searchIntro b { font-size: 19px !important; }
  .modeBtn { font-size: 12px !important; }
}

.formStatus { display: none; grid-column: 1 / -1; margin: 0; padding: 12px 14px; border-radius: 16px; font-weight: 700; line-height: 1.45; }
.formStatus.isSuccess { display: block; color: #0f5132; background: #e8f6ef; border: 1px solid rgba(15, 81, 50, .18); }
.formStatus.isError { display: block; color: #842029; background: #f8d7da; border: 1px solid rgba(132, 32, 41, .18); }
.ownerForm button:disabled { opacity: .65; cursor: wait; }

/* StayArmenia V42 AI Search: one-message, voice, match percentage */
.aiSearchBox {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  border: 1px solid rgba(47,111,97,.16);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(47,111,97,.08), rgba(255,255,255,.86));
  padding: 14px;
}
.aiSearchHead { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.aiSearchHead b { display: block; font-size: 17px; color: var(--primary-dark); }
.aiSearchHead span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.aiMessageField { display: grid; gap: 7px; }
.aiMessageField span { color: var(--muted); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.aiMessageField textarea {
  min-height: 76px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
}
.aiActions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.aiActions .btn { min-height: 46px; border-radius: 16px; }
.aiSearchStatus { margin: 0; min-height: 20px; font-size: 13px; font-weight: 850; color: var(--muted); }
.aiSearchStatus.isSuccess { color: var(--primary); }
.aiSearchStatus.isError { color: #9b2c2c; }
.aiSearchStatus.isListening { color: #99620e; }
.matchBox {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  border-radius: 18px;
  padding: 11px 12px;
  background: rgba(47,111,97,.07);
  border: 1px solid rgba(47,111,97,.12);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.matchBox > div b { color: var(--primary-dark); font-size: 14px; }
.matchBox.strong { background: rgba(47,111,97,.10); border-color: rgba(47,111,97,.22); }
.matchBox.medium { background: rgba(255,242,217,.48); border-color: rgba(153,98,14,.14); }
.matchBox.low { background: rgba(255,244,244,.70); border-color: rgba(155,44,44,.12); }
.matchMissing { color: #8a5d14; }
.searchField input#heroDates { min-width: 0; }
@media (max-width: 720px) {
  .aiSearchBox { padding: 12px; border-radius: 22px; gap: 10px; }
  .aiSearchHead b { font-size: 16px; }
  .aiSearchHead span { font-size: 12px; }
  .aiMessageField textarea { min-height: 72px; font-size: 15px; }
  .aiActions { grid-template-columns: 1fr; }
  .aiActions .btn { width: 100%; }
  .matchBox { font-size: 12px; padding: 10px; }
}

/* StayArmenia V42 selected property lead form */
.selectedLeadForm {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  border: 1px solid rgba(47,111,97,.16);
  border-radius: 22px;
  background: rgba(47,111,97,.06);
  padding: 14px;
}
.selectedLeadIntro { display: grid; gap: 3px; }
.selectedLeadIntro b { color: var(--primary-dark); font-size: 18px; }
.selectedLeadIntro span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.selectedLeadForm label { display: grid; gap: 6px; }
.selectedLeadForm label span { color: var(--muted); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: .04em; }
.selectedLeadForm input,
.selectedLeadForm textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
  padding: 11px 12px;
  color: var(--text);
  outline: none;
}
.selectedLeadForm textarea { min-height: 70px; resize: vertical; }
.selectedLeadStatus { margin: 0; font-weight: 850; color: var(--muted); }
.selectedLeadStatus.isSuccess { color: var(--primary); }
.selectedLeadStatus.isError { color: #9b2c2c; }
@media (max-width: 720px) {
  .selectedLeadForm { padding: 12px; border-radius: 20px; }
  .pricePanel { gap: 10px; }
}

/* StayArmenia V43 language/city suggestion cleanup */
.citySmartHint {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(47,111,97,.08);
  border: 1px solid rgba(47,111,97,.16);
  color: var(--primary-dark);
  font-size: 13px;
  font-weight: 800;
}
.citySmartHint.show { display: flex; }
.citySmartHint button {
  border: 0;
  border-radius: 999px;
  padding: 7px 11px;
  background: var(--primary);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}
.aiSearchBox::after {
  content: "Coming Soon";
  justify-self: start;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(153,98,14,.10);
  border: 1px solid rgba(153,98,14,.18);
  color: #8a5d14;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
}
@media (max-width: 720px) {
  .citySmartHint { align-items: flex-start; flex-direction: column; }
  .citySmartHint button { width: 100%; }
}

/* StayArmenia V44 compact AI teaser + stronger property cards */
.aiSearchBox.aiSearchCompact {
  padding: 10px !important;
  border-radius: 20px !important;
  gap: 8px !important;
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(47,111,97,.14) !important;
}
.aiCompactRow {
  display: grid;
  grid-template-columns: 1fr 46px 46px;
  gap: 8px;
  align-items: center;
}
.aiCompactRow input {
  width: 100%;
  height: 48px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  padding: 0 16px;
  color: var(--ink);
  font-size: 16px;
  font-weight: 850;
  outline: none;
}
.aiCompactRow input:focus { border-color: rgba(47,111,97,.45); box-shadow: 0 0 0 4px rgba(47,111,97,.08); }
.aiIconBtn {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(47,111,97,.16);
  background: rgba(47,111,97,.08);
  color: var(--primary-dark);
  font-size: 18px;
  font-weight: 950;
  cursor: pointer;
}
.aiCompactNote { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 4px; }
.aiCompactNote b { color: var(--primary-dark); font-size: 13px; }
.aiCompactNote span { color: var(--muted); font-size: 12px; line-height: 1.25; }
.aiSearchBox.aiSearchCompact::after { display: none !important; }
.aiSearchBox.aiSearchCompact .aiSearchStatus { min-height: 0; margin: 0; padding: 8px 10px; }
.cardTop { align-items: flex-start; gap: 10px; }
.cardTopLead {
  width: auto !important;
  min-width: 132px;
  min-height: 40px !important;
  margin-top: 0 !important;
  padding: 9px 12px;
  border-radius: 14px !important;
  font-size: 12px;
  line-height: 1.15;
  flex: 0 0 auto;
}
.trustBadges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.trustBadge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 11px;
  line-height: 1;
  font-weight: 950;
  border: 1px solid rgba(47,111,97,.18);
}
.partnerBadge { background: rgba(47,111,97,.11); color: var(--primary-dark); }
.ownerBadge { background: rgba(232,177,70,.18); color: #7a5010; border-color: rgba(232,177,70,.25); }
@media (max-width: 720px) {
  .aiSearchBox.aiSearchCompact { padding: 9px !important; border-radius: 18px !important; }
  .aiCompactRow { grid-template-columns: 1fr 42px 42px; gap: 7px; }
  .aiCompactRow input { height: 44px; font-size: 15px; padding: 0 13px; }
  .aiIconBtn { width: 42px; height: 42px; font-size: 16px; }
  .aiCompactNote { flex-direction: column; align-items: flex-start; gap: 2px; }
  .cardTop { display: grid; grid-template-columns: 1fr; }
  .cardTopLead { width: 100% !important; min-height: 42px !important; }
}

/* V47 — Emotional simplicity / taxi-like UX polish */
:root{
  --sa-green:#244437;
  --sa-green-2:#2f6f61;
  --sa-cream:#f8f4ec;
  --sa-gold:#d6a445;
}
body{background:linear-gradient(180deg,#f8f4ec 0%,#fffdf8 46%,#f8f4ec 100%);}
.topbar.cleanTopbar{
  width:min(1180px,94vw);
  left:50%;transform:translateX(-50%);
  top:14px;border-radius:999px;
  padding:10px 14px;
  background:rgba(255,253,248,.86)!important;
  border:1px solid rgba(36,68,55,.12)!important;
  box-shadow:0 18px 55px rgba(36,68,55,.10)!important;
  backdrop-filter:blur(22px);
}
.brandLogo{max-height:46px!important;width:auto!important;display:block;}
.navLink{background:transparent!important;border-color:transparent!important;padding:9px 10px!important;color:rgba(36,68,55,.78)!important;}
.navLink:hover{background:rgba(47,111,97,.08)!important;color:var(--sa-green)!important;}
.langSwitch{background:rgba(255,255,255,.72);border-radius:999px;padding:3px;border:1px solid rgba(36,68,55,.09)}
.langSwitch button{border:0!important;background:transparent!important;min-height:34px!important;padding:0 10px!important;border-radius:999px!important;}
.langSwitch button.active{background:var(--sa-green)!important;color:#fff!important;}
.visualHero{min-height:auto!important;padding:124px 5vw 44px!important;}
.heroMedia{inset:0!important;max-height:760px;overflow:hidden;}
.heroPhoto{filter:saturate(1.04) contrast(1.03);transform:scale(1.02)}
.heroMedia::after{background:linear-gradient(90deg,rgba(248,244,236,.97) 0%,rgba(248,244,236,.82) 38%,rgba(248,244,236,.46) 64%,rgba(248,244,236,.18) 100%)!important;}
.heroCopy{width:min(960px,100%)!important;margin-left:0!important;}
.heroCopy>.eyebrow{
  font-size:clamp(34px,6vw,72px)!important;
  line-height:.95!important;
  letter-spacing:-.06em!important;
  text-transform:none!important;
  border:0!important;background:transparent!important;
  color:var(--sa-green)!important;
  padding:0!important;margin:0 0 14px!important;
  max-width:760px!important;width:auto!important;
}
.heroCopy>.lead{font-size:clamp(17px,2vw,22px)!important;line-height:1.42!important;color:rgba(36,68,55,.72)!important;max-width:620px!important;margin:0 0 20px!important;width:auto!important;}
.mainSearch.cleanSearch{
  display:grid!important;
  grid-template-columns:1.45fr .55fr .75fr 1.1fr!important;
  gap:10px!important;
  margin-top:18px!important;
  padding:12px!important;
  border-radius:30px!important;
  background:rgba(255,253,248,.94)!important;
  border:1px solid rgba(36,68,55,.13)!important;
  box-shadow:0 24px 80px rgba(36,68,55,.16)!important;
}
.searchIntro{order:0;grid-column:1/-1!important;padding:0 4px 2px!important;display:flex!important;align-items:center!important;}
.searchIntro b{font-size:19px!important;color:var(--sa-green)!important;}
.searchIntro span{font-size:13px!important;color:rgba(36,68,55,.58)!important;}
.citySearchField{order:1;grid-column:auto!important;}
.guestsField{order:2;}
.budgetField{order:3;}
.searchActions{order:4;grid-column:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.searchActions .secondary{min-height:42px!important;font-size:13px!important;border-radius:16px!important;}
.typeField{order:6;}
.datesField{order:7;}
.notesField{order:8;grid-column:span 2!important;}
.aiSearchCompact{order:9!important;grid-column:1/-1!important;margin-top:2px;}
.searchModeSwitch{order:10!important;grid-column:1/-1!important;}
.nearbyPanel{order:11!important;}
.searchField span{font-size:11px!important;letter-spacing:.02em!important;color:rgba(36,68,55,.62)!important;}
input,select,textarea{min-height:58px!important;border-radius:20px!important;border-color:rgba(36,68,55,.14)!important;background:#fff!important;font-weight:850!important;}
input:focus,select:focus,textarea:focus{border-color:rgba(47,111,97,.55)!important;box-shadow:0 0 0 5px rgba(47,111,97,.09)!important;}
.btn.primary,.leadBtn{background:var(--sa-green)!important;border-color:var(--sa-green)!important;box-shadow:0 16px 38px rgba(36,68,55,.22)!important;}
.btn.primary:hover,.leadBtn:hover{background:#173429!important;}
.searchSubmit{min-height:58px!important;border-radius:20px!important;font-weight:950!important;}
.quickRecommendations{margin-top:18px!important;background:rgba(255,253,248,.72)!important;border-color:rgba(36,68,55,.10)!important;box-shadow:none!important;}
.quickRecCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.quickRecImage{height:170px!important;}
.section{padding-top:56px!important;padding-bottom:56px!important;}
.sectionHead{margin-bottom:24px!important;}
.sectionHead h2{color:var(--sa-green);}
.propertyGrid{gap:24px!important;}
.propertyCard{border-radius:34px!important;border-color:rgba(36,68,55,.11)!important;box-shadow:0 22px 72px rgba(36,68,55,.10)!important;transition:transform .2s ease,box-shadow .2s ease;}
.propertyCard:hover{transform:translateY(-4px);box-shadow:0 28px 90px rgba(36,68,55,.14)!important;}
.propertyPhoto{height:265px!important;background:#e9eadf!important;}
.featuredBadge,.availabilityBadge{top:16px!important;padding:9px 12px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px);}
.cardBody{padding:20px!important;}
.cardTop{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
.cardTop h3{font-size:22px!important;line-height:1.08!important;color:#1f2d27!important;}
.cardTopLead{width:100%!important;min-height:50px!important;border-radius:18px!important;font-size:14px!important;order:5;}
.cardBody p{font-size:14px!important;color:rgba(36,68,55,.62)!important;margin:10px 0 0!important;}
.rentFacts span,.tagLine small{background:rgba(47,111,97,.07)!important;color:rgba(36,68,55,.74)!important;border:1px solid rgba(36,68,55,.06)!important;}
.matchBox{border-radius:20px!important;padding:12px 13px!important;margin-top:14px!important;font-weight:850!important;}
.matchBox>div b{font-size:15px!important;}
.matchBox.strong{background:#e7f6ec!important;border-color:#9bd6ae!important;color:#1f5d37!important;}
.matchBox.strong>div b{color:#176138!important;}
.matchBox.medium{background:#fff7df!important;border-color:#efcf7c!important;color:#75510e!important;}
.matchBox.medium>div b{color:#8a5d14!important;}
.matchBox.low{background:#fff0e9!important;border-color:#e6a184!important;color:#8f3e21!important;}
.matchBox.low>div b{color:#9b3f24!important;}
.cardFooter{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.cardFooter strong{font-size:16px!important;color:#1f2d27!important;}
.cardFooter .smallBtn{width:100%!important;text-align:center!important;border-radius:17px!important;}
.trustBadge{font-size:11px!important;padding:7px 10px!important;}
.partnerBadge{background:linear-gradient(135deg,rgba(214,164,69,.22),rgba(255,250,235,.9))!important;color:#754d09!important;border-color:rgba(214,164,69,.35)!important;}
.ownerBadge{background:rgba(47,111,97,.10)!important;color:var(--sa-green)!important;border-color:rgba(47,111,97,.18)!important;}
.aiSearchBox.aiSearchCompact{background:rgba(255,255,255,.58)!important;box-shadow:inset 0 0 0 1px rgba(36,68,55,.05)!important;}
.aiCompactRow input{font-weight:800!important;color:rgba(36,68,55,.72)!important;}
.aiCompactNote{opacity:.72;}
.detailPhoto{min-height:520px!important;}
.pricePanel{border-radius:32px!important;box-shadow:0 22px 72px rgba(36,68,55,.10)!important;}
@media(max-width:980px){
  .mainSearch.cleanSearch{grid-template-columns:1fr 1fr!important;}
  .citySearchField{grid-column:1/-1!important;}
  .searchActions,.notesField,.aiSearchCompact,.searchModeSwitch,.nearbyPanel{grid-column:1/-1!important;}
  .propertyGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  .topbar.cleanTopbar{top:8px!important;width:calc(100vw - 20px)!important;padding:7px 9px!important;border-radius:24px!important;}
  .brandLogo{max-height:38px!important;}
  .navLink{display:none!important;}
  .langSwitch button{min-height:30px!important;font-size:11px!important;padding:0 7px!important;}
  .visualHero{padding:82px 4vw 26px!important;}
  .heroMedia::after{background:linear-gradient(180deg,rgba(248,244,236,.98) 0%,rgba(248,244,236,.86) 48%,rgba(248,244,236,.98) 100%)!important;}
  .heroCopy>.eyebrow{font-size:clamp(36px,12vw,54px)!important;max-width:330px!important;}
  .heroCopy>.lead{font-size:16px!important;line-height:1.38!important;max-width:330px!important;}
  .mainSearch.cleanSearch{grid-template-columns:1fr 1fr!important;margin-top:14px!important;padding:10px!important;border-radius:26px!important;gap:9px!important;}
  .searchIntro{display:grid!important;gap:0!important;}
  .searchIntro span{font-size:12px!important;}
  .citySearchField,.searchActions,.typeField,.datesField,.notesField,.aiSearchCompact,.searchModeSwitch,.nearbyPanel{grid-column:1/-1!important;}
  .guestsField{grid-column:1/2!important;}
  .budgetField{grid-column:2/3!important;}
  .typeField,.datesField,.notesField,.aiSearchCompact,.searchModeSwitch{margin-top:2px!important;}
  input,select,textarea{min-height:52px!important;border-radius:18px!important;font-size:15px!important;padding:11px 12px!important;}
  .searchSubmit{min-height:54px!important;font-size:15px!important;}
  .searchActions .secondary{font-size:12px!important;min-height:40px!important;}
  .quickRecommendations{display:none!important;}
  .section{padding:38px 4vw!important;}
  .propertyGrid{grid-template-columns:1fr!important;gap:20px!important;}
  .propertyPhoto{height:310px!important;}
  .cardBody{padding:17px!important;}
  .cardTop h3{font-size:21px!important;}
  .rentFacts,.tagLine{gap:7px!important;}
  .rentFacts span,.tagLine small{font-size:11px!important;padding:7px 9px!important;}
  .detailPhoto{min-height:380px!important;}
  .detailHero{padding-top:88px!important;}
}

/* V47.1 SAFE PRODUCT POLISH — only small product fixes, no hero rebuild */
.searchActions{
  grid-column:1/-1!important;
  grid-template-columns:1fr!important;
}
.searchActions .secondary,#telegramSearchButton{display:none!important;}
.navCta{white-space:nowrap;}
.ownerContactPriority{border:1px solid rgba(47,111,97,.16);border-radius:22px;padding:14px;background:rgba(255,253,248,.72);display:grid;gap:10px;}
.ownerContactPriority legend{font-weight:950;color:var(--primary-dark);padding:0 8px;}
.ownerContactPriority p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;}
.prioritySelectGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.prioritySelectGrid label{display:grid;gap:6px;}
.ownerContactPanel{display:grid;gap:12px;margin-top:14px;}
.ownerPreferredBox{display:grid;gap:8px;padding:14px;border-radius:22px;border:1px solid rgba(47,111,97,.18);background:linear-gradient(135deg,rgba(232,246,236,.95),rgba(255,253,248,.96));}
.ownerPreferredBox span,.ownerOtherContacts>span{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;}
.ownerPreferredBox b{font-size:20px;color:var(--primary-dark);}
.ownerPreferredBox small{color:var(--muted);line-height:1.45;}
.contactBtn.primaryContact{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;min-height:48px;border-radius:18px;box-shadow:0 14px 32px rgba(47,111,97,.18);}
.contactBtn.secondaryContact{background:#fff!important;color:var(--primary-dark)!important;}
.ownerOtherContacts{display:grid;gap:8px;}
.contactChoiceOnly{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.contactChoiceOnly .selectedLeadIntro{padding:0 0 4px;}
.matchBox span{display:block;line-height:1.38;}
.matchBox .matchMissing{margin-top:4px;color:#8a5d14;}
.quickRecCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;}
.quickHomeCard{display:grid!important;grid-template-rows:auto 1fr!important;border-radius:24px!important;overflow:hidden!important;background:rgba(255,253,248,.96)!important;border:1px solid rgba(38,49,45,.12)!important;box-shadow:0 18px 40px rgba(39,49,44,.10)!important;text-decoration:none!important;}
.quickHomeCard .quickRecImage{display:block!important;min-height:170px!important;overflow:hidden!important;}
.quickHomeCard .quickRecImage img{width:100%!important;height:190px!important;object-fit:cover!important;display:block!important;}
.quickRecCardBody{display:grid!important;gap:8px!important;padding:14px!important;}
.quickRecCardBody p{margin:0;color:var(--muted);font-size:13px;line-height:1.4;}
.quickFacts{display:flex;gap:8px;flex-wrap:wrap;}
.quickFacts small{border:1px solid rgba(47,111,97,.12);background:rgba(47,111,97,.055);border-radius:999px;padding:6px 9px;font-weight:850;color:var(--primary-dark);}
.quickCardActions{display:grid;grid-template-columns:.85fr 1.15fr;gap:8px;margin-top:4px;}
.quickCardActions .leadBtn,.quickCardActions .smallBtn{min-height:42px;border-radius:16px;font-size:13px;padding:0 10px;}
.adminHelpText{grid-column:1/-1;color:#6e756f;}
@media (max-width:900px){.quickRecCards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.prioritySelectGrid{grid-template-columns:1fr;}.quickCardActions{grid-template-columns:1fr;}}
@media (max-width:640px){.quickRecCards{grid-template-columns:1fr!important;}.quickHomeCard .quickRecImage img{height:185px!important;}}

/* =========================================================
   StayArmenia V50 FINAL GALLERY MOBILE HERO FIX
   One stable full archive. Logo/header lock. No fallback letters.
   ========================================================= */
.topbar.cleanTopbar,
.topbar {
  box-sizing: border-box !important;
  position: sticky !important;
  top: 14px !important;
  z-index: 1000 !important;
  width: min(1180px, 94vw) !important;
  margin: 0 auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  min-height: 68px !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  background: rgba(255,253,248,.94) !important;
  border: 1px solid rgba(36,68,55,.12) !important;
  box-shadow: 0 18px 55px rgba(36,68,55,.10) !important;
  backdrop-filter: blur(22px) !important;
  overflow: visible !important;
}
.brand.logoBrand,
a.brand.logoBrand {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 0 210px !important;
  width: 210px !important;
  min-width: 210px !important;
  max-width: 210px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-decoration: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
  position: relative !important;
  z-index: 2 !important;
}
.brand.logoBrand::before,
.brand.logoBrand::after,
a.brand.logoBrand::before,
a.brand.logoBrand::after {
  content: none !important;
  display: none !important;
}
.logoBrand .brandLogo,
.brandLogo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 0 0 auto !important;
  width: 205px !important;
  max-width: 205px !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 52px !important;
  object-fit: contain !important;
  object-position: left center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  text-indent: 0 !important;
}
.topActions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  gap: 10px !important;
  overflow: visible !important;
}
.topActions .navLink,
.topActions .navCta { display: inline-flex !important; }
.topActions .navCta { white-space: nowrap !important; }
.langSwitch {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
}
@media (max-width: 1050px) {
  .topbar.cleanTopbar,
  .topbar { gap: 8px !important; padding: 9px 12px !important; }
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 184px !important; width: 184px !important; min-width: 184px !important; max-width: 184px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 178px !important; max-width: 178px !important; }
  .topActions { gap: 7px !important; }
  .topActions .navLink { display: none !important; }
}
@media (max-width: 720px) {
  .topbar.cleanTopbar,
  .topbar {
    width: calc(100vw - 18px) !important;
    top: 8px !important;
    min-height: 62px !important;
    padding: 8px 10px !important;
    border-radius: 22px !important;
  }
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 138px !important; width: 138px !important; min-width: 138px !important; max-width: 138px !important; min-height: 42px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 136px !important; max-width: 136px !important; max-height: 40px !important; }
  .topActions .navLink,
  .topActions .navCta { display: none !important; }
  .langSwitch { max-width: calc(100vw - 164px) !important; padding: 3px !important; gap: 2px !important; }
  .langSwitch button { min-height: 30px !important; padding: 0 7px !important; font-size: 11px !important; }
  .visualHero { padding-top: 88px !important; }
}
@media (max-width: 390px) {
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 124px !important; width: 124px !important; min-width: 124px !important; max-width: 124px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 122px !important; max-width: 122px !important; }
  .langSwitch { max-width: calc(100vw - 148px) !important; }
  .langSwitch button { padding: 0 5px !important; font-size: 10.5px !important; }
}


/* =========================================================
   StayArmenia V50 — filter/header/search fix
   Base: V48 clean archive. Small product fixes only.
   ========================================================= */
.topbar.cleanTopbar,
.topbar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  z-index: 10 !important;
  width: min(1180px, 94vw) !important;
  margin: 12px auto 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
.topActions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.topActions .navLink { order: 10 !important; }
.topActions .navCta { order: 20 !important; }
.langSwitch {
  order: 99 !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 2px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}
.langSwitch button {
  min-height: 26px !important;
  padding: 0 6px !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}
.visualHero { padding-top: 42px !important; }

.mainSearch.cleanSearch,
.mainSearch {
  display: grid !important;
  grid-template-columns: minmax(190px, 1.45fr) minmax(140px, 1fr) minmax(100px, .75fr) minmax(150px, 1fr) minmax(170px, 1.15fr) !important;
  gap: 12px !important;
  align-items: start !important;
}
.searchIntro { order: 1 !important; grid-column: 1 / -1 !important; }
.aiSearchCompact,
.aiSearchBox { order: 2 !important; grid-column: 1 / -1 !important; }
.searchModeSwitch { order: 3 !important; grid-column: 1 / -1 !important; }
.citySearchField { order: 10 !important; grid-column: auto !important; }
.typeField { order: 11 !important; grid-column: auto !important; }
.guestsField { order: 12 !important; grid-column: auto !important; }
.datesField { order: 13 !important; grid-column: auto !important; }
.budgetField { order: 14 !important; grid-column: auto !important; }
.notesField { order: 20 !important; grid-column: 1 / -1 !important; }
.nearbyPanel { order: 30 !important; grid-column: 1 / -1 !important; }
.searchActions {
  order: 99 !important;
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  margin-top: 2px !important;
}
.searchSubmit { width: 100% !important; }

.citySmartHint {
  display: none !important;
  grid-column: 1 / -1 !important;
  margin-top: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(47,111,97,.14) !important;
  border-radius: 18px !important;
  background: rgba(255,253,248,.98) !important;
  box-shadow: 0 14px 34px rgba(39,49,44,.10) !important;
}
.citySmartHint.show { display: grid !important; gap: 8px !important; }
.citySuggestTitle { color: rgba(36,68,55,.62) !important; font-size: 11px !important; font-weight: 950 !important; letter-spacing: .03em !important; }
.citySuggestList { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.citySuggestItem {
  display: inline-grid !important;
  gap: 2px !important;
  text-align: left !important;
  border: 1px solid rgba(47,111,97,.14) !important;
  background: rgba(47,111,97,.055) !important;
  color: var(--primary-dark) !important;
  border-radius: 14px !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
}
.citySuggestItem b { font-size: 13px !important; }
.citySuggestItem small { color: rgba(36,68,55,.62) !important; font-size: 11px !important; }
.citySuggestItem:hover { background: rgba(47,111,97,.12) !important; }

@media (max-width: 1050px) {
  .topActions .navLink { display: none !important; }
  .mainSearch.cleanSearch,
  .mainSearch { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .citySearchField,
  .typeField,
  .guestsField,
  .datesField,
  .budgetField { grid-column: auto !important; }
  .notesField,
  .searchActions,
  .searchIntro,
  .aiSearchCompact,
  .aiSearchBox,
  .searchModeSwitch,
  .nearbyPanel { grid-column: 1 / -1 !important; }
}
@media (max-width: 720px) {
  .topbar.cleanTopbar,
  .topbar {
    position: relative !important;
    top: auto !important;
    width: calc(100vw - 18px) !important;
    margin-top: 8px !important;
    gap: 8px !important;
  }
  .topActions .navCta { display: none !important; }
  .langSwitch { margin-left: auto !important; max-width: none !important; }
  .langSwitch button { min-height: 28px !important; padding: 0 5px !important; font-size: 10px !important; }
  .visualHero { padding-top: 26px !important; }
  .mainSearch.cleanSearch,
  .mainSearch { grid-template-columns: 1fr !important; }
  .citySearchField,
  .typeField,
  .guestsField,
  .datesField,
  .budgetField,
  .notesField,
  .searchActions,
  .searchIntro,
  .aiSearchCompact,
  .aiSearchBox,
  .searchModeSwitch,
  .nearbyPanel { grid-column: 1 / -1 !important; }
  .citySuggestList { display: grid !important; grid-template-columns: 1fr !important; }
}


/* =========================================================
   StayArmenia V50 FINAL — gallery, mobile form, hero readability
   Base: V49 clean. One full archive.
   ========================================================= */
/* Hero text readability: keep warm photo, make text readable. */
.visualHero .heroMedia::after,
.heroMedia::after {
  background: linear-gradient(90deg,
    rgba(248,244,236,.98) 0%,
    rgba(248,244,236,.90) 34%,
    rgba(248,244,236,.55) 65%,
    rgba(248,244,236,.22) 100%) !important;
}
.heroCopy > .eyebrow {
  display: inline-block !important;
  color: #23483d !important;
  text-shadow: 0 2px 22px rgba(255,253,248,.88) !important;
  background: linear-gradient(90deg, rgba(255,253,248,.58), rgba(255,253,248,.20)) !important;
  border-radius: 26px !important;
  padding: 10px 14px !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}
.heroCopy > .lead {
  color: rgba(25,57,47,.90) !important;
  background: rgba(255,253,248,.58) !important;
  border: 1px solid rgba(36,68,55,.08) !important;
  border-radius: 22px !important;
  padding: 12px 15px !important;
  -webkit-backdrop-filter: blur(6px) !important;
  backdrop-filter: blur(6px) !important;
  text-shadow: none !important;
}

/* Property page: remove oversized whitespace and make gallery tight. */
.propertyPage .detailHero {
  width: min(1180px, 94vw) !important;
  margin: 30px auto 16px !important;
  padding: 18px 0 18px !important;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr) !important;
  align-items: start !important;
  gap: 28px !important;
}
.propertyPage .detailCopy { align-self: start !important; padding-top: 4px !important; }
.propertyPage .detailCopy h1 {
  font-size: clamp(38px, 4.8vw, 64px) !important;
  line-height: .96 !important;
  letter-spacing: -.055em !important;
  margin: 8px 0 12px !important;
}
.propertyPage .detailCopy p { margin: 0 0 12px !important; line-height: 1.45 !important; }
.propertyPage .detailFacts { margin: 16px 0 18px !important; gap: 10px !important; }
.propertyPage .detailActions { margin-top: 8px !important; }
.propertyPage .detailMedia { align-self: start !important; min-width: 0 !important; }
.propertyPage .detailGallery { gap: 10px !important; }
.propertyPage .detailPhoto,
.propertyPage .detailPhotoMain {
  min-height: 0 !important;
  height: clamp(360px, 43vw, 540px) !important;
  max-height: 540px !important;
  border-radius: 30px !important;
}
.propertyPage .detailPhotoMain img,
.propertyPage [data-gallery-main] { object-fit: cover !important; }
.propertyPage .propertyGallery {
  margin-top: 0 !important;
  padding: 2px 2px 4px !important;
}
.propertyPage .galleryArrow { pointer-events: auto !important; z-index: 15 !important; }
.propertyPage .galleryThumb { pointer-events: auto !important; }
.propertyPage .section.detailGrid { padding-top: 26px !important; }
.propertyPage .section { padding-top: 34px !important; padding-bottom: 42px !important; }

/* Mobile homepage: compact search so top offers can appear sooner. */
@media (max-width: 720px) {
  .visualHero .heroMedia::after,
  .heroMedia::after {
    background: linear-gradient(180deg,
      rgba(248,244,236,.72) 0%,
      rgba(248,244,236,.54) 32%,
      rgba(248,244,236,.86) 68%,
      rgba(248,244,236,.96) 100%) !important;
  }
  .visualHero {
    padding: 18px 0 20px !important;
    min-height: auto !important;
  }
  .heroCopy {
    width: 100% !important;
    padding: 0 4vw !important;
    gap: 8px !important;
  }
  .heroCopy > .eyebrow {
    display: block !important;
    max-width: 100% !important;
    width: auto !important;
    font-size: clamp(32px, 11.2vw, 45px) !important;
    line-height: .92 !important;
    padding: 8px 10px !important;
    margin: 0 0 6px !important;
    border-radius: 20px !important;
    background: rgba(255,253,248,.42) !important;
  }
  .heroCopy > .lead {
    max-width: 100% !important;
    width: auto !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    padding: 9px 10px !important;
    margin: 0 0 8px !important;
    border-radius: 18px !important;
    background: rgba(255,253,248,.60) !important;
  }
  .mainSearch.cleanSearch,
  .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin-top: 6px !important;
    padding: 9px !important;
    border-radius: 24px !important;
  }
  .searchIntro { grid-column: 1 / -1 !important; padding: 0 2px !important; }
  .searchIntro b { font-size: 18px !important; line-height: 1.05 !important; }
  .searchIntro span { display: none !important; }
  .aiSearchCompact,
  .aiSearchBox { display: none !important; }
  .searchModeSwitch {
    grid-column: 1 / -1 !important;
    gap: 5px !important;
    margin: 0 !important;
  }
  .searchModeSwitch .modeBtn,
  .modeBtn {
    min-height: 42px !important;
    border-radius: 17px !important;
    padding: 0 8px !important;
    font-size: 13px !important;
  }
  .citySearchField { grid-column: 1 / -1 !important; }
  .typeField { grid-column: 1 / 2 !important; }
  .guestsField { grid-column: 2 / 3 !important; }
  .datesField { grid-column: 1 / 2 !important; }
  .budgetField { grid-column: 2 / 3 !important; }
  .notesField { grid-column: 1 / -1 !important; }
  .searchField span { font-size: 10px !important; margin-bottom: 3px !important; }
  input, select, textarea {
    min-height: 44px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    padding: 9px 10px !important;
  }
  .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    padding-bottom: 1px !important;
    max-height: 42px !important;
  }
  .smartChips button,
  .smartChips .chip,
  .smartChips span {
    flex: 0 0 auto !important;
    font-size: 11px !important;
    padding: 6px 8px !important;
    border-radius: 999px !important;
  }
  .searchActions { grid-column: 1 / -1 !important; margin-top: 0 !important; }
  .searchSubmit {
    min-height: 48px !important;
    border-radius: 18px !important;
    font-size: 14px !important;
  }
  .nearbyPanel { grid-column: 1 / -1 !important; }

  .quickRecommendations {
    display: block !important;
    margin-top: 12px !important;
    padding: 10px !important;
    border-radius: 24px !important;
    background: rgba(255,253,248,.78) !important;
    border: 1px solid rgba(36,68,55,.09) !important;
  }
  .quickRecHead { margin-bottom: 8px !important; }
  .quickRecHead b { font-size: 15px !important; }
  .quickRecChips { display: flex !important; gap: 6px !important; overflow-x: auto !important; padding-bottom: 2px !important; }
  .quickRecCards {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    overflow-x: auto !important;
    padding: 2px 0 4px !important;
    scroll-snap-type: x proximity !important;
  }
  .quickHomeCard {
    flex: 0 0 min(78vw, 310px) !important;
    scroll-snap-align: start !important;
    border-radius: 20px !important;
  }
  .quickHomeCard .quickRecImage,
  .quickHomeCard .quickRecImage img {
    min-height: 0 !important;
    height: 118px !important;
  }
  .quickRecCardBody { padding: 10px !important; gap: 6px !important; }
  .quickRecCardBody p { display: none !important; }
  .quickFacts small { font-size: 10.5px !important; padding: 5px 7px !important; }
  .quickCardActions { grid-template-columns: 1fr !important; gap: 6px !important; }
  .quickCardActions .leadBtn,
  .quickCardActions .smallBtn { min-height: 38px !important; font-size: 12px !important; border-radius: 14px !important; }

  .propertyPage .detailHero {
    width: min(100% - 24px, 680px) !important;
    margin: 16px auto 10px !important;
    padding: 10px 0 10px !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .propertyPage .detailCopy h1 { font-size: clamp(32px, 11vw, 44px) !important; }
  .propertyPage .detailPhoto,
  .propertyPage .detailPhotoMain {
    height: min(72vw, 360px) !important;
    max-height: 360px !important;
    border-radius: 24px !important;
  }
  .propertyPage .galleryThumb { flex-basis: 68px !important; border-radius: 12px !important; }
  .propertyPage .galleryThumb img { height: 48px !important; border-radius: 9px !important; }
  .propertyPage .section.detailGrid { padding-top: 18px !important; }
}

/* V50 extra mobile compactness: keep city chips, hide non-critical needs chips on first screen. */
@media (max-width: 720px) {
  .notesField .smartChips { display: none !important; }
  .notesField input { min-height: 42px !important; }
}


/* =========================================================
   StayArmenia V51 FINAL — search simplify + mobile Telegram + AI secondary
   Base: V50 clean. One full archive.
   ========================================================= */
/* Dates are removed from the main search because StayArmenia is lead-generation, not Booking. */
.datesField,
.searchField.datesField { display: none !important; }

/* Main filter is now shorter: city / type / guests / budget / needs / action. */
.mainSearch.cleanSearch,
.mainSearch {
  grid-template-columns: minmax(220px, 1.55fr) minmax(150px, .92fr) minmax(105px, .68fr) minmax(170px, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}
.citySearchField { order: 10 !important; grid-column: auto !important; }
.typeField { order: 11 !important; grid-column: auto !important; }
.guestsField { order: 12 !important; grid-column: auto !important; }
.budgetField { order: 13 !important; grid-column: auto !important; }
.notesField { order: 20 !important; grid-column: 1 / -1 !important; }
.nearbyPanel { order: 30 !important; grid-column: 1 / -1 !important; }
.searchActions { order: 99 !important; grid-column: 1 / -1 !important; display: grid !important; grid-template-columns: 1fr !important; gap: 8px !important; }
.searchSubmit { width: 100% !important; }

/* AI is secondary now, not the first thing inside the filter. */
.aiSecondaryWrap {
  margin-top: 10px !important;
  width: min(980px, 100%) !important;
}
.aiBelowSearch,
.aiSecondaryWrap .aiSearchBox {
  display: grid !important;
  grid-column: auto !important;
  background: rgba(255,253,248,.72) !important;
  border: 1px solid rgba(36,68,55,.10) !important;
  box-shadow: none !important;
  opacity: .88 !important;
}
.aiSecondaryWrap .aiCompactNote span { opacity: .78 !important; }

/* Mobile Telegram button: visible in the main action row, because header CTA is hidden on mobile. */
.telegramHeroMobile {
  display: none !important;
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
  text-decoration: none !important;
  border-radius: 18px !important;
  font-weight: 950 !important;
  background: rgba(47,111,97,.10) !important;
  color: var(--primary-dark) !important;
  border: 1px solid rgba(47,111,97,.18) !important;
  min-height: 50px !important;
}

@media (max-width: 1050px) {
  .mainSearch.cleanSearch,
  .mainSearch { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .citySearchField,
  .typeField,
  .guestsField,
  .budgetField { grid-column: auto !important; }
  .notesField,
  .searchActions,
  .searchIntro,
  .searchModeSwitch,
  .nearbyPanel { grid-column: 1 / -1 !important; }
}

@media (max-width: 720px) {
  .topActions .navCta { display: none !important; }
  .visualHero { padding: 16px 0 18px !important; min-height: auto !important; }
  .heroCopy { gap: 7px !important; }
  .mainSearch.cleanSearch,
  .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding: 9px !important;
    margin-top: 6px !important;
    border-radius: 24px !important;
  }
  .searchIntro { grid-column: 1 / -1 !important; padding: 0 2px !important; }
  .searchIntro b { font-size: 18px !important; line-height: 1.05 !important; }
  .searchIntro span { display: none !important; }
  .searchModeSwitch { grid-column: 1 / -1 !important; margin: 0 !important; }
  .citySearchField { grid-column: 1 / -1 !important; }
  .typeField { grid-column: 1 / 2 !important; }
  .guestsField { grid-column: 2 / 3 !important; }
  .budgetField { grid-column: 1 / -1 !important; }
  .notesField { grid-column: 1 / -1 !important; }
  .searchActions { grid-column: 1 / -1 !important; grid-template-columns: 1fr 1fr !important; gap: 7px !important; margin-top: 0 !important; }
  .searchSubmit,
  .telegramHeroMobile { min-height: 46px !important; border-radius: 17px !important; font-size: 12.5px !important; line-height: 1.14 !important; padding: 8px 8px !important; }
  .telegramHeroMobile { display: inline-flex !important; }
  .aiSecondaryWrap { display: none !important; }
  input, select, textarea { min-height: 43px !important; border-radius: 16px !important; font-size: 14px !important; padding: 8px 10px !important; }
  .searchField span { font-size: 10px !important; margin-bottom: 3px !important; }
  .smartChips { max-height: 38px !important; }
  .quickRecommendations { display: block !important; margin-top: 10px !important; }
}


/* =========================================================
   StayArmenia V52 FINAL — mobile first-screen polish
   Base: V51. No logo/photo/card/API changes.
   Goal: shorter mobile hero/search, readable headline, visible Telegram.
   ========================================================= */
.mobileTopTelegram { display: none !important; }

@media (max-width: 720px) {
  html, body { overflow-x: hidden !important; }

  /* Header: keep logo + languages, but reduce first-screen height. */
  .topbar.cleanTopbar,
  .topbar {
    width: calc(100vw - 18px) !important;
    min-height: 54px !important;
    margin: 7px auto 0 !important;
    padding: 6px 8px !important;
    border-radius: 20px !important;
    gap: 6px !important;
    box-shadow: 0 10px 30px rgba(36,68,55,.08) !important;
  }
  .brand.logoBrand,
  a.brand.logoBrand {
    flex: 0 0 126px !important;
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
    min-height: 36px !important;
  }
  .logoBrand .brandLogo,
  .brandLogo {
    width: 124px !important;
    max-width: 124px !important;
    max-height: 36px !important;
  }
  .topActions { gap: 4px !important; }
  .topActions .navLink,
  .topActions .navCta { display: none !important; }
  .langSwitch {
    margin-left: auto !important;
    padding: 2px !important;
    gap: 1px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.68) !important;
  }
  .langSwitch button {
    min-height: 27px !important;
    padding: 0 5px !important;
    font-size: 10px !important;
    letter-spacing: 0 !important;
  }

  /* Hero: no giant cropped title; readable but compact. */
  .visualHero,
  .hero.focusedHero.singleSearchHero.visualHero {
    min-height: auto !important;
    padding: 12px 0 14px !important;
    display: block !important;
    overflow: hidden !important;
  }
  .visualHero .heroMedia,
  .heroMedia {
    height: 100% !important;
    min-height: 0 !important;
  }
  .visualHero .heroMedia::after,
  .heroMedia::after {
    background:
      linear-gradient(180deg, rgba(248,244,236,.58) 0%, rgba(248,244,236,.50) 34%, rgba(248,244,236,.84) 100%),
      linear-gradient(90deg, rgba(248,244,236,.68), rgba(248,244,236,.25)) !important;
  }
  .heroCopy,
  .heroCopy.focusedHeroCopy.singleSearchCopy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 3.5vw !important;
    margin: 0 auto !important;
    gap: 7px !important;
  }
  .heroCopy > .eyebrow {
    display: block !important;
    width: fit-content !important;
    max-width: calc(100vw - 28px) !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
    font-size: clamp(25px, 8.2vw, 34px) !important;
    line-height: .96 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
    padding: 7px 9px !important;
    margin: 0 0 6px !important;
    border-radius: 18px !important;
    background: rgba(255,253,248,.66) !important;
    color: var(--primary-dark) !important;
    box-shadow: 0 10px 26px rgba(31,77,65,.08) !important;
  }
  .heroCopy > .lead {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-width: calc(100vw - 28px) !important;
    width: fit-content !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
    padding: 7px 9px !important;
    margin: 0 0 7px !important;
    border-radius: 16px !important;
    background: rgba(255,253,248,.72) !important;
    color: rgba(36,68,55,.82) !important;
  }

  /* Search form: shorter and more product-like on first mobile screen. */
  .mainSearch.cleanSearch,
  .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    margin-top: 5px !important;
    border-radius: 22px !important;
    box-shadow: 0 14px 34px rgba(39,49,44,.10) !important;
  }
  .searchIntro {
    grid-column: 1 / -1 !important;
    padding: 0 2px !important;
    min-height: 0 !important;
  }
  .searchIntro b {
    font-size: 18px !important;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
  }
  .searchIntro span { display: none !important; }

  .mobileTopTelegram {
    grid-column: 1 / -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 36px !important;
    padding: 6px 10px !important;
    border-radius: 15px !important;
    background: rgba(47,111,97,.10) !important;
    border: 1px solid rgba(47,111,97,.18) !important;
    color: var(--primary-dark) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    text-align: center !important;
  }

  .searchModeSwitch {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px !important;
    padding: 3px !important;
    margin: 0 !important;
    border-radius: 16px !important;
  }
  .searchModeSwitch .modeBtn,
  .modeBtn {
    min-height: 36px !important;
    border-radius: 13px !important;
    padding: 0 6px !important;
    font-size: 12px !important;
    line-height: 1.08 !important;
  }

  .citySearchField { grid-column: 1 / -1 !important; }
  .typeField { grid-column: 1 / 2 !important; }
  .guestsField { grid-column: 2 / 3 !important; }
  .budgetField { grid-column: 1 / -1 !important; }
  .notesField { grid-column: 1 / -1 !important; }

  .searchField span,
  .radiusControl span,
  label span {
    font-size: 9.5px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  input, select, textarea,
  .searchField input,
  .searchField select {
    min-height: 38px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    padding: 7px 9px !important;
  }

  .citySearchField .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-height: 31px !important;
    gap: 5px !important;
    padding-bottom: 0 !important;
  }
  .citySearchField .smartChips button,
  .citySearchField .smartChips .chip,
  .citySearchField .smartChips span,
  .smartChips button,
  .smartChips .chip,
  .smartChips span {
    flex: 0 0 auto !important;
    font-size: 10.5px !important;
    padding: 5px 7px !important;
    border-radius: 999px !important;
  }

  /* Keep needs available, but stop it from turning the first screen into a long questionnaire. */
  .notesField input { display: none !important; }
  .notesField .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-height: 31px !important;
    gap: 5px !important;
    padding-bottom: 0 !important;
  }

  .searchActions {
    grid-column: 1 / -1 !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 0 !important;
  }
  .searchSubmit,
  .telegramHeroMobile {
    min-height: 40px !important;
    border-radius: 15px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    padding: 7px 7px !important;
  }
  .telegramHeroMobile { display: none !important; }
  .aiSecondaryWrap { display: none !important; }

  .quickRecommendations {
    display: block !important;
    margin-top: 8px !important;
    padding: 8px !important;
    border-radius: 22px !important;
  }
  .quickRecHead b { font-size: 14px !important; }
  .quickRecChips { gap: 5px !important; }
  .quickRecCards {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 1px 0 3px !important;
  }
  .quickHomeCard { flex: 0 0 min(74vw, 286px) !important; border-radius: 18px !important; }
  .quickHomeCard .quickRecImage,
  .quickHomeCard .quickRecImage img { height: 98px !important; min-height: 0 !important; }
  .quickRecCardBody { padding: 8px !important; gap: 5px !important; }
  .quickRecCardBody p { display: none !important; }
}

@media (max-width: 390px) {
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 116px !important; width: 116px !important; min-width: 116px !important; max-width: 116px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 114px !important; max-width: 114px !important; }
  .langSwitch button { padding: 0 4px !important; font-size: 9.5px !important; }
  .heroCopy > .eyebrow { font-size: clamp(23px, 7.8vw, 30px) !important; }
  .heroCopy > .lead { font-size: 12px !important; }
}

/* =========================================================
   StayArmenia V53 FINAL — real mobile compact fix
   Base: V52. Goal: first mobile screen must feel like product, not long form.
   ========================================================= */
@media (max-width: 720px) {
  html, body { overflow-x: hidden !important; }

  /* Header: smaller, one compact line. */
  .topbar.cleanTopbar,
  .topbar {
    width: calc(100vw - 16px) !important;
    min-height: 46px !important;
    margin: 5px auto 0 !important;
    padding: 5px 7px !important;
    border-radius: 17px !important;
    gap: 5px !important;
    align-items: center !important;
    position: relative !important;
    top: auto !important;
  }
  .brand.logoBrand,
  a.brand.logoBrand {
    flex: 0 0 106px !important;
    width: 106px !important;
    min-width: 106px !important;
    max-width: 106px !important;
    min-height: 30px !important;
  }
  .logoBrand .brandLogo,
  .brandLogo {
    width: 104px !important;
    max-width: 104px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }
  .topActions {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .topActions .navLink { display: none !important; }
  .topActions .navCta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 1 !important;
    min-height: 25px !important;
    max-width: 68px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .topActions .navCta::after {
    content: "Telegram";
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }
  .langSwitch {
    order: 2 !important;
    margin-left: 0 !important;
    padding: 1px !important;
    gap: 0 !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
  }
  .langSwitch button {
    min-height: 24px !important;
    padding: 0 4px !important;
    font-size: 9.5px !important;
    border-radius: 999px !important;
    letter-spacing: 0 !important;
  }

  /* Hero: reduce vertical weight and stop title from dominating the first screen. */
  .visualHero,
  .hero.focusedHero.singleSearchHero.visualHero {
    padding: 8px 0 10px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }
  .heroCopy,
  .heroCopy.focusedHeroCopy.singleSearchCopy {
    padding: 0 10px !important;
    gap: 5px !important;
    max-width: 100% !important;
  }
  .heroCopy > .eyebrow {
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    font-size: clamp(20px, 6.1vw, 25px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    padding: 6px 8px !important;
    margin: 0 0 4px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-height: 56px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.72) !important;
  }
  .heroCopy > .lead {
    max-width: calc(100vw - 24px) !important;
    font-size: 11.5px !important;
    line-height: 1.18 !important;
    padding: 6px 8px !important;
    margin: 0 0 5px !important;
    border-radius: 14px !important;
    -webkit-line-clamp: 1 !important;
    max-height: 32px !important;
    background: rgba(255,253,248,.76) !important;
  }

  /* Search: real compact mobile mode. */
  .mainSearch.cleanSearch,
  .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding: 7px !important;
    margin-top: 4px !important;
    border-radius: 20px !important;
    width: 100% !important;
  }
  .mobileTopTelegram { display: none !important; }

  .searchIntro {
    grid-column: 1 / -1 !important;
    padding: 0 1px !important;
    margin: 0 !important;
    min-height: 0 !important;
  }
  .searchIntro b {
    font-size: 15.5px !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
  }
  .searchIntro span { display: none !important; }

  /* On mobile, do not spend first screen on mode switch / map. */
  .searchModeSwitch,
  .nearbyPanel { display: none !important; }

  .citySearchField { grid-column: 1 / -1 !important; order: 10 !important; }
  .typeField { grid-column: 1 / 2 !important; order: 11 !important; }
  .guestsField { grid-column: 2 / 3 !important; order: 12 !important; }
  .budgetField { grid-column: 1 / -1 !important; order: 13 !important; }
  .searchActions { grid-column: 1 / -1 !important; order: 14 !important; }
  .notesField { display: none !important; }

  .searchField span,
  .radiusControl span,
  label span {
    font-size: 9px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  input, select, textarea,
  .searchField input,
  .searchField select {
    min-height: 35px !important;
    height: 35px !important;
    border-radius: 13px !important;
    font-size: 12.5px !important;
    padding: 6px 8px !important;
  }
  .citySearchField .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-height: 28px !important;
    gap: 4px !important;
    padding: 0 !important;
    margin-top: 4px !important;
  }
  .citySearchField .smartChips button,
  .citySearchField .smartChips .chip,
  .citySearchField .smartChips span {
    flex: 0 0 auto !important;
    font-size: 9.5px !important;
    line-height: 1 !important;
    padding: 5px 7px !important;
    border-radius: 999px !important;
  }

  .searchActions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 5px !important;
    margin-top: 1px !important;
  }
  .searchSubmit,
  .telegramHeroMobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 37px !important;
    height: 37px !important;
    border-radius: 14px !important;
    font-size: 11.2px !important;
    line-height: 1.05 !important;
    padding: 5px 6px !important;
    text-align: center !important;
  }
  .telegramHeroMobile {
    background: rgba(47,111,97,.10) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(47,111,97,.18) !important;
  }
  .aiSecondaryWrap { display: none !important; }

  .quickRecommendations {
    display: block !important;
    margin-top: 7px !important;
    padding: 7px !important;
    border-radius: 20px !important;
  }
  .quickRecHead b { font-size: 13px !important; }
  .quickRecChips { display: none !important; }
  .quickRecCards {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto !important;
    padding: 1px 0 2px !important;
  }
  .quickHomeCard { flex: 0 0 min(70vw, 260px) !important; border-radius: 16px !important; }
  .quickHomeCard .quickRecImage,
  .quickHomeCard .quickRecImage img { height: 84px !important; min-height: 0 !important; }
  .quickRecCardBody { padding: 7px !important; gap: 4px !important; }
  .quickRecCardBody p { display: none !important; }
}

@media (max-width: 390px) {
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
  .logoBrand .brandLogo,
  .brandLogo { width: 94px !important; max-width: 94px !important; }
  .topActions .navCta { max-width: 58px !important; padding: 0 5px !important; }
  .topActions .navCta::after { font-size: 9px !important; }
  .langSwitch button { padding: 0 3px !important; font-size: 8.8px !important; }
  .heroCopy > .eyebrow { font-size: clamp(18px, 5.8vw, 22px) !important; max-height: 48px !important; }
  .heroCopy > .lead { display: none !important; }
  .searchSubmit, .telegramHeroMobile { font-size: 10.5px !important; }
}

/* =========================================================
   StayArmenia V54 FINAL — iOS mobile stable compact lock
   Problem fixed: iPhone/Safari auto-zooms page when inputs/selects
   are below 16px, so the compact state flashes and then page looks large.
   This locks the desired compact mobile layout and prevents auto-zoom.
   ========================================================= */
@media (max-width: 720px) {
  html, body {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  /* Keep the same compact state before and after scroll/focus. */
  .topbar.cleanTopbar,
  .topbar {
    position: relative !important;
    top: auto !important;
    width: calc(100vw - 18px) !important;
    min-height: 44px !important;
    margin: 5px auto 0 !important;
    padding: 5px 7px !important;
    border-radius: 18px !important;
    gap: 5px !important;
  }
  .brand.logoBrand,
  a.brand.logoBrand {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
  }
  .brandLogo,
  .logoBrand .brandLogo {
    width: 102px !important;
    max-width: 102px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }
  .topActions { gap: 4px !important; justify-content: flex-end !important; min-width: 0 !important; }
  .topActions .navLink { display: none !important; }
  .topActions .navCta {
    display: inline-flex !important;
    min-height: 26px !important;
    max-width: 72px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .topActions .navCta::after {
    content: "Telegram" !important;
    font-size: 10px !important;
    font-weight: 950 !important;
  }
  .langSwitch {
    margin-left: 0 !important;
    padding: 1px !important;
    gap: 0 !important;
    border-radius: 999px !important;
  }
  .langSwitch button {
    min-height: 25px !important;
    padding: 0 4px !important;
    font-size: 10px !important;
    border-radius: 999px !important;
  }

  .visualHero,
  .hero.focusedHero.singleSearchHero.visualHero {
    padding: 8px 0 10px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }
  .heroCopy,
  .heroCopy.focusedHeroCopy.singleSearchCopy {
    padding: 0 10px !important;
    gap: 5px !important;
    max-width: 100% !important;
  }
  .heroCopy > .eyebrow {
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    font-size: clamp(20px, 6.1vw, 25px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    padding: 6px 8px !important;
    margin: 0 0 4px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-height: 56px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.72) !important;
  }
  .heroCopy > .lead {
    max-width: calc(100vw - 24px) !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
    padding: 6px 8px !important;
    margin: 0 0 5px !important;
    border-radius: 14px !important;
    -webkit-line-clamp: 1 !important;
    max-height: 32px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.76) !important;
  }

  .mainSearch.cleanSearch,
  .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    margin-top: 5px !important;
    border-radius: 20px !important;
    width: 100% !important;
  }
  .mobileTopTelegram { display: none !important; }
  .searchModeSwitch,
  .nearbyPanel,
  .notesField,
  .aiSecondaryWrap,
  .aiSearchCompact,
  .aiSearchBox { display: none !important; }

  .searchIntro { grid-column: 1 / -1 !important; padding: 0 1px !important; margin: 0 !important; min-height: 0 !important; }
  .searchIntro b { font-size: 16px !important; line-height: 1 !important; letter-spacing: -.035em !important; }
  .searchIntro span { display: none !important; }
  .citySearchField { grid-column: 1 / -1 !important; order: 10 !important; }
  .typeField { grid-column: 1 / 2 !important; order: 11 !important; }
  .guestsField { grid-column: 2 / 3 !important; order: 12 !important; }
  .budgetField { grid-column: 1 / -1 !important; order: 13 !important; }
  .searchActions { grid-column: 1 / -1 !important; order: 14 !important; }

  .searchField span,
  .radiusControl span,
  label span {
    font-size: 10px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }

  /* IMPORTANT: 16px prevents iOS Safari input auto-zoom. Keep height compact separately. */
  .mainSearch input,
  .mainSearch select,
  .mainSearch textarea,
  input#heroCity,
  input#heroGuests,
  input#heroBudget,
  select#heroType {
    font-size: 16px !important;
    min-height: 39px !important;
    height: 39px !important;
    border-radius: 13px !important;
    padding: 6px 9px !important;
    line-height: 1.05 !important;
  }

  .citySearchField .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-height: 28px !important;
    gap: 4px !important;
    padding: 0 !important;
    margin-top: 4px !important;
  }
  .citySearchField .smartChips button,
  .citySearchField .smartChips .chip,
  .citySearchField .smartChips span {
    flex: 0 0 auto !important;
    font-size: 10px !important;
    line-height: 1 !important;
    padding: 5px 7px !important;
    border-radius: 999px !important;
  }

  .searchActions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 1px !important;
  }
  .searchSubmit,
  .telegramHeroMobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    padding: 5px 6px !important;
    text-align: center !important;
  }
  .telegramHeroMobile {
    background: rgba(47,111,97,.10) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(47,111,97,.18) !important;
  }

  .quickRecommendations {
    display: block !important;
    margin-top: 7px !important;
    padding: 7px !important;
    border-radius: 20px !important;
  }
  .quickRecHead b { font-size: 13px !important; }
  .quickRecChips { display: none !important; }
  .quickRecCards { display: flex !important; gap: 7px !important; overflow-x: auto !important; padding: 1px 0 2px !important; }
  .quickHomeCard { flex: 0 0 min(70vw, 260px) !important; border-radius: 16px !important; }
  .quickHomeCard .quickRecImage,
  .quickHomeCard .quickRecImage img { height: 84px !important; min-height: 0 !important; }
  .quickRecCardBody { padding: 7px !important; gap: 4px !important; }
  .quickRecCardBody p { display: none !important; }
}

@media (max-width: 390px) {
  .brand.logoBrand,
  a.brand.logoBrand { flex-basis: 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
  .brandLogo,
  .logoBrand .brandLogo { width: 94px !important; max-width: 94px !important; }
  .topActions .navCta { max-width: 58px !important; padding: 0 5px !important; }
  .topActions .navCta::after { font-size: 9px !important; }
  .langSwitch button { padding: 0 3px !important; font-size: 8.8px !important; }
  .heroCopy > .eyebrow { font-size: clamp(18px, 5.8vw, 22px) !important; max-height: 48px !important; }
  .heroCopy > .lead { display: none !important; }
  .searchSubmit,
  .telegramHeroMobile { font-size: 11px !important; }
}


/* =========================================================
   StayArmenia V56 FINAL — mobile JS hard lock
   Fix: the page briefly showed the correct compact mobile state, then
   late CSS/JS/translation repaint made it large again. This final block
   locks the compact state after all older rules and after app.js updates.
   ========================================================= */
@media (max-width: 720px) {
  html.sa-v55-mobile-no-flip,
  html.sa-v55-mobile-no-flip body {
    overflow-x: hidden !important;
    width: 100% !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  html.sa-v55-mobile-no-flip .topbar.cleanTopbar,
  html.sa-v55-mobile-no-flip .topbar {
    position: relative !important;
    top: auto !important;
    width: calc(100vw - 18px) !important;
    min-height: 44px !important;
    margin: 5px auto 0 !important;
    padding: 5px 7px !important;
    border-radius: 18px !important;
    gap: 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  html.sa-v55-mobile-no-flip .brand.logoBrand,
  html.sa-v55-mobile-no-flip a.brand.logoBrand {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    min-height: 30px !important;
  }
  html.sa-v55-mobile-no-flip .brandLogo,
  html.sa-v55-mobile-no-flip .logoBrand .brandLogo {
    width: 102px !important;
    max-width: 102px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }
  html.sa-v55-mobile-no-flip .topActions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin-left: auto !important;
    min-width: 0 !important;
  }
  html.sa-v55-mobile-no-flip .topActions .navLink { display: none !important; }
  html.sa-v55-mobile-no-flip .topActions .navCta {
    display: inline-flex !important;
    min-height: 26px !important;
    max-width: 72px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    background: var(--primary) !important;
    color: #fff !important;
  }
  html.sa-v55-mobile-no-flip .topActions .navCta::after {
    content: "Telegram" !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }
  html.sa-v55-mobile-no-flip .langSwitch {
    display: inline-flex !important;
    margin-left: 0 !important;
    padding: 1px !important;
    gap: 0 !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
    max-width: none !important;
  }
  html.sa-v55-mobile-no-flip .langSwitch button {
    min-height: 25px !important;
    padding: 0 4px !important;
    font-size: 10px !important;
    border-radius: 999px !important;
  }
  html.sa-v55-mobile-no-flip .visualHero,
  html.sa-v55-mobile-no-flip .hero.focusedHero.singleSearchHero.visualHero {
    padding: 8px 0 10px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }
  html.sa-v55-mobile-no-flip .heroCopy,
  html.sa-v55-mobile-no-flip .heroCopy.focusedHeroCopy.singleSearchCopy {
    padding: 0 10px !important;
    gap: 5px !important;
    max-width: 100% !important;
  }
  html.sa-v55-mobile-no-flip .heroCopy > .eyebrow {
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    font-size: clamp(20px, 6.1vw, 25px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    padding: 6px 8px !important;
    margin: 0 0 4px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-height: 56px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.72) !important;
  }
  html.sa-v55-mobile-no-flip .heroCopy > .lead {
    max-width: calc(100vw - 24px) !important;
    font-size: 12px !important;
    line-height: 1.18 !important;
    padding: 6px 8px !important;
    margin: 0 0 5px !important;
    border-radius: 14px !important;
    -webkit-line-clamp: 1 !important;
    max-height: 32px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.76) !important;
  }
  html.sa-v55-mobile-no-flip .mainSearch.cleanSearch,
  html.sa-v55-mobile-no-flip .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    margin-top: 5px !important;
    border-radius: 20px !important;
    width: 100% !important;
  }
  html.sa-v55-mobile-no-flip .mobileTopTelegram,
  html.sa-v55-mobile-no-flip .searchModeSwitch,
  html.sa-v55-mobile-no-flip .nearbyPanel,
  html.sa-v55-mobile-no-flip .notesField,
  html.sa-v55-mobile-no-flip .aiSecondaryWrap,
  html.sa-v55-mobile-no-flip .aiSearchCompact,
  html.sa-v55-mobile-no-flip .aiSearchBox { display: none !important; }
  html.sa-v55-mobile-no-flip .searchIntro {
    grid-column: 1 / -1 !important;
    padding: 0 1px !important;
    margin: 0 !important;
    min-height: 0 !important;
  }
  html.sa-v55-mobile-no-flip .searchIntro b {
    font-size: 16px !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
  }
  html.sa-v55-mobile-no-flip .searchIntro span { display: none !important; }
  html.sa-v55-mobile-no-flip .citySearchField { grid-column: 1 / -1 !important; order: 10 !important; }
  html.sa-v55-mobile-no-flip .typeField { grid-column: 1 / 2 !important; order: 11 !important; }
  html.sa-v55-mobile-no-flip .guestsField { grid-column: 2 / 3 !important; order: 12 !important; }
  html.sa-v55-mobile-no-flip .budgetField { grid-column: 1 / -1 !important; order: 13 !important; }
  html.sa-v55-mobile-no-flip .searchActions {
    grid-column: 1 / -1 !important;
    order: 14 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 1px !important;
  }
  html.sa-v55-mobile-no-flip .searchField span,
  html.sa-v55-mobile-no-flip label span {
    font-size: 10px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
  }
  html.sa-v55-mobile-no-flip .mainSearch input,
  html.sa-v55-mobile-no-flip .mainSearch select,
  html.sa-v55-mobile-no-flip .mainSearch textarea,
  html.sa-v55-mobile-no-flip input#heroCity,
  html.sa-v55-mobile-no-flip input#heroGuests,
  html.sa-v55-mobile-no-flip input#heroBudget,
  html.sa-v55-mobile-no-flip select#heroType {
    font-size: 16px !important;
    min-height: 39px !important;
    height: 39px !important;
    border-radius: 13px !important;
    padding: 6px 9px !important;
    line-height: 1.05 !important;
  }
  html.sa-v55-mobile-no-flip .citySearchField .smartChips {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    max-height: 28px !important;
    gap: 4px !important;
    padding: 0 !important;
    margin-top: 4px !important;
  }
  html.sa-v55-mobile-no-flip .citySearchField .smartChips button,
  html.sa-v55-mobile-no-flip .citySearchField .smartChips .chip,
  html.sa-v55-mobile-no-flip .citySearchField .smartChips span {
    flex: 0 0 auto !important;
    font-size: 10px !important;
    line-height: 1 !important;
    padding: 5px 7px !important;
    border-radius: 999px !important;
  }
  html.sa-v55-mobile-no-flip .searchSubmit,
  html.sa-v55-mobile-no-flip .telegramHeroMobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    padding: 5px 6px !important;
    text-align: center !important;
  }
  html.sa-v55-mobile-no-flip .telegramHeroMobile {
    background: rgba(47,111,97,.10) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(47,111,97,.18) !important;
  }
  html.sa-v55-mobile-no-flip .quickRecommendations {
    display: block !important;
    margin-top: 7px !important;
    padding: 7px !important;
    border-radius: 20px !important;
  }
  html.sa-v55-mobile-no-flip .quickRecHead b { font-size: 13px !important; }
  html.sa-v55-mobile-no-flip .quickRecChips { display: none !important; }
  html.sa-v55-mobile-no-flip .quickRecCards { display: flex !important; gap: 7px !important; overflow-x: auto !important; padding: 1px 0 2px !important; }
  html.sa-v55-mobile-no-flip .quickHomeCard { flex: 0 0 min(70vw, 260px) !important; border-radius: 16px !important; }
  html.sa-v55-mobile-no-flip .quickHomeCard .quickRecImage,
  html.sa-v55-mobile-no-flip .quickHomeCard .quickRecImage img { height: 84px !important; min-height: 0 !important; }
  html.sa-v55-mobile-no-flip .quickRecCardBody { padding: 7px !important; gap: 4px !important; }
  html.sa-v55-mobile-no-flip .quickRecCardBody p { display: none !important; }
}
@media (max-width: 390px) {
  html.sa-v55-mobile-no-flip .brand.logoBrand,
  html.sa-v55-mobile-no-flip a.brand.logoBrand { flex-basis: 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
  html.sa-v55-mobile-no-flip .brandLogo,
  html.sa-v55-mobile-no-flip .logoBrand .brandLogo { width: 94px !important; max-width: 94px !important; }
  html.sa-v55-mobile-no-flip .topActions .navCta { max-width: 58px !important; padding: 0 5px !important; }
  html.sa-v55-mobile-no-flip .topActions .navCta::after { font-size: 9px !important; }
  html.sa-v55-mobile-no-flip .langSwitch button { padding: 0 3px !important; font-size: 8.8px !important; }
  html.sa-v55-mobile-no-flip .heroCopy > .eyebrow { font-size: clamp(18px, 5.8vw, 22px) !important; max-height: 48px !important; }
  html.sa-v55-mobile-no-flip .heroCopy > .lead { display: none !important; }
  html.sa-v55-mobile-no-flip .searchSubmit,
  html.sa-v55-mobile-no-flip .telegramHeroMobile { font-size: 11px !important; }
}

/* =========================================================
   StayArmenia V56 FINAL — mobile JS hard lock
   The compact mobile state was correct while loading, then JS inserted
   chips/recommendation content and older mobile rules visually expanded it.
   This block locks the compact mobile search after all previous CSS.
   ========================================================= */
@media (max-width: 720px) {
  html.sa-v56-mobile-hard-lock,
  html.sa-v56-mobile-hard-lock body {
    overflow-x: hidden !important;
    width: 100% !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }
  html.sa-v56-mobile-hard-lock .topbar.cleanTopbar,
  html.sa-v56-mobile-hard-lock .topbar {
    position: relative !important;
    top: auto !important;
    width: calc(100vw - 18px) !important;
    min-height: 44px !important;
    margin: 5px auto 0 !important;
    padding: 5px 7px !important;
    border-radius: 18px !important;
    gap: 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  html.sa-v56-mobile-hard-lock .brand.logoBrand,
  html.sa-v56-mobile-hard-lock a.brand.logoBrand {
    flex: 0 0 104px !important;
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    min-height: 30px !important;
  }
  html.sa-v56-mobile-hard-lock .brandLogo,
  html.sa-v56-mobile-hard-lock .logoBrand .brandLogo {
    width: 102px !important;
    max-width: 102px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }
  html.sa-v56-mobile-hard-lock .topActions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 4px !important;
    margin-left: auto !important;
    min-width: 0 !important;
  }
  html.sa-v56-mobile-hard-lock .topActions .navLink { display: none !important; }
  html.sa-v56-mobile-hard-lock .topActions .navCta {
    display: inline-flex !important;
    min-height: 26px !important;
    max-width: 72px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    background: var(--primary) !important;
    color: #fff !important;
  }
  html.sa-v56-mobile-hard-lock .topActions .navCta::after {
    content: "Telegram" !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }
  html.sa-v56-mobile-hard-lock .langSwitch {
    display: inline-flex !important;
    margin-left: 0 !important;
    padding: 1px !important;
    gap: 0 !important;
    border-radius: 999px !important;
    flex: 0 0 auto !important;
    max-width: none !important;
  }
  html.sa-v56-mobile-hard-lock .langSwitch button {
    min-height: 25px !important;
    padding: 0 4px !important;
    font-size: 10px !important;
    border-radius: 999px !important;
  }
  html.sa-v56-mobile-hard-lock .visualHero,
  html.sa-v56-mobile-hard-lock .hero.focusedHero.singleSearchHero.visualHero {
    padding: 8px 0 10px !important;
    min-height: auto !important;
    overflow: hidden !important;
  }
  html.sa-v56-mobile-hard-lock .heroCopy,
  html.sa-v56-mobile-hard-lock .heroCopy.focusedHeroCopy.singleSearchCopy {
    padding: 0 10px !important;
    gap: 5px !important;
    max-width: 100% !important;
  }
  html.sa-v56-mobile-hard-lock .heroCopy > .eyebrow {
    width: fit-content !important;
    max-width: calc(100vw - 24px) !important;
    font-size: clamp(20px, 6.1vw, 25px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    padding: 6px 8px !important;
    margin: 0 0 4px !important;
    border-radius: 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    max-height: 56px !important;
    overflow: hidden !important;
    background: rgba(255,253,248,.72) !important;
  }
  html.sa-v56-mobile-hard-lock .heroCopy > .lead { display: none !important; }
  html.sa-v56-mobile-hard-lock .mainSearch.cleanSearch,
  html.sa-v56-mobile-hard-lock .mainSearch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px !important;
    margin-top: 5px !important;
    border-radius: 20px !important;
    width: 100% !important;
  }
  html.sa-v56-mobile-hard-lock .mobileTopTelegram,
  html.sa-v56-mobile-hard-lock .searchModeSwitch,
  html.sa-v56-mobile-hard-lock .nearbyPanel,
  html.sa-v56-mobile-hard-lock .notesField,
  html.sa-v56-mobile-hard-lock .aiSecondaryWrap,
  html.sa-v56-mobile-hard-lock .aiSearchCompact,
  html.sa-v56-mobile-hard-lock .aiSearchBox { display: none !important; }
  html.sa-v56-mobile-hard-lock #siteCityChips,
  html.sa-v56-mobile-hard-lock #siteNeedsChips,
  html.sa-v56-mobile-hard-lock .citySearchField .smartChips,
  html.sa-v56-mobile-hard-lock .notesField .smartChips {
    display: none !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html.sa-v56-mobile-hard-lock .searchIntro { grid-column: 1 / -1 !important; padding: 0 1px !important; margin: 0 !important; min-height: 0 !important; }
  html.sa-v56-mobile-hard-lock .searchIntro b { font-size: 16px !important; line-height: 1 !important; letter-spacing: -.035em !important; }
  html.sa-v56-mobile-hard-lock .searchIntro span { display: none !important; }
  html.sa-v56-mobile-hard-lock .citySearchField { grid-column: 1 / -1 !important; order: 10 !important; }
  html.sa-v56-mobile-hard-lock .typeField { grid-column: 1 / 2 !important; order: 11 !important; display: block !important; }
  html.sa-v56-mobile-hard-lock .guestsField { grid-column: 2 / 3 !important; order: 12 !important; display: block !important; }
  html.sa-v56-mobile-hard-lock .budgetField { grid-column: 1 / -1 !important; order: 13 !important; display: block !important; }
  html.sa-v56-mobile-hard-lock .searchActions {
    grid-column: 1 / -1 !important;
    order: 14 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    margin-top: 1px !important;
  }
  html.sa-v56-mobile-hard-lock .searchField span,
  html.sa-v56-mobile-hard-lock label span { font-size: 10px !important; line-height: 1 !important; margin-bottom: 2px !important; }
  html.sa-v56-mobile-hard-lock .mainSearch input,
  html.sa-v56-mobile-hard-lock .mainSearch select,
  html.sa-v56-mobile-hard-lock .mainSearch textarea,
  html.sa-v56-mobile-hard-lock input#heroCity,
  html.sa-v56-mobile-hard-lock input#heroGuests,
  html.sa-v56-mobile-hard-lock input#heroBudget,
  html.sa-v56-mobile-hard-lock select#heroType {
    font-size: 16px !important;
    min-height: 39px !important;
    height: 39px !important;
    border-radius: 13px !important;
    padding: 6px 9px !important;
    line-height: 1.05 !important;
  }
  html.sa-v56-mobile-hard-lock .searchSubmit,
  html.sa-v56-mobile-hard-lock .telegramHeroMobile {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    padding: 5px 6px !important;
    text-align: center !important;
  }
  html.sa-v56-mobile-hard-lock .telegramHeroMobile {
    background: rgba(47,111,97,.10) !important;
    color: var(--primary-dark) !important;
    border: 1px solid rgba(47,111,97,.18) !important;
  }
  html.sa-v56-mobile-hard-lock .quickRecommendations { display: block !important; margin-top: 7px !important; padding: 7px !important; border-radius: 20px !important; }
  html.sa-v56-mobile-hard-lock .quickRecHead b { font-size: 13px !important; }
  html.sa-v56-mobile-hard-lock .quickRecChips { display: none !important; }
  html.sa-v56-mobile-hard-lock .quickRecCards { display: flex !important; gap: 7px !important; overflow-x: auto !important; padding: 1px 0 2px !important; }
  html.sa-v56-mobile-hard-lock .quickHomeCard { flex: 0 0 min(70vw, 260px) !important; border-radius: 16px !important; }
  html.sa-v56-mobile-hard-lock .quickHomeCard .quickRecImage,
  html.sa-v56-mobile-hard-lock .quickHomeCard .quickRecImage img { height: 84px !important; min-height: 0 !important; }
  html.sa-v56-mobile-hard-lock .quickRecCardBody { padding: 7px !important; gap: 4px !important; }
  html.sa-v56-mobile-hard-lock .quickRecCardBody p { display: none !important; }
}
@media (max-width: 390px) {
  html.sa-v56-mobile-hard-lock .brand.logoBrand,
  html.sa-v56-mobile-hard-lock a.brand.logoBrand { flex-basis: 96px !important; width: 96px !important; min-width: 96px !important; max-width: 96px !important; }
  html.sa-v56-mobile-hard-lock .brandLogo,
  html.sa-v56-mobile-hard-lock .logoBrand .brandLogo { width: 94px !important; max-width: 94px !important; }
  html.sa-v56-mobile-hard-lock .topActions .navCta { max-width: 58px !important; padding: 0 5px !important; }
  html.sa-v56-mobile-hard-lock .topActions .navCta::after { font-size: 9px !important; }
  html.sa-v56-mobile-hard-lock .langSwitch button { padding: 0 3px !important; font-size: 8.8px !important; }
  html.sa-v56-mobile-hard-lock .heroCopy > .eyebrow { font-size: clamp(18px, 5.8vw, 22px) !important; max-height: 48px !important; }
  html.sa-v56-mobile-hard-lock .searchSubmit,
  html.sa-v56-mobile-hard-lock .telegramHeroMobile { font-size: 11px !important; }
}

/* =========================================================
   StayArmenia V57 FINAL — STRUCTURAL MOBILE CLEAN
   No class dependency. This wins after all old V20-V56 rules.
   ========================================================= */
@media (max-width:720px){
  html,body{overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}
  .topbar.cleanTopbar,.topbar{position:relative!important;top:auto!important;width:calc(100vw - 18px)!important;margin:5px auto 0!important;padding:5px 7px!important;min-height:44px!important;border-radius:18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:5px!important;}
  .brand.logoBrand,a.brand.logoBrand{flex:0 0 104px!important;width:104px!important;min-width:104px!important;max-width:104px!important;min-height:30px!important;}
  .brandLogo,.logoBrand .brandLogo{width:102px!important;max-width:102px!important;max-height:30px!important;object-fit:contain!important;}
  .topActions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;margin-left:auto!important;min-width:0!important;}
  .topActions .navLink{display:none!important;}
  .topActions .navCta{display:inline-flex!important;min-height:26px!important;max-width:72px!important;padding:0 8px!important;border-radius:999px!important;font-size:0!important;line-height:1!important;background:var(--primary)!important;color:#fff!important;}
  .topActions .navCta:after{content:none!important;font-size:10px!important;font-weight:950!important;}
  .langSwitch{display:inline-flex!important;margin-left:0!important;padding:1px!important;gap:0!important;border-radius:999px!important;flex:0 0 auto!important;}
  .langSwitch button{min-height:25px!important;padding:0 4px!important;font-size:10px!important;border-radius:999px!important;}
  .visualHero,.hero.focusedHero.singleSearchHero.visualHero{padding:8px 0 10px!important;min-height:auto!important;overflow:hidden!important;}
  .heroCopy,.heroCopy.focusedHeroCopy.singleSearchCopy{padding:0 10px!important;gap:5px!important;max-width:100%!important;}
  .heroCopy>.eyebrow{width:fit-content!important;max-width:calc(100vw - 24px)!important;font-size:clamp(20px,6.1vw,25px)!important;line-height:.98!important;letter-spacing:-.04em!important;padding:6px 8px!important;margin:0 0 4px!important;border-radius:16px!important;white-space:normal!important;overflow-wrap:anywhere!important;max-height:56px!important;overflow:hidden!important;background:rgba(255,253,248,.72)!important;}
  .heroCopy>.lead,.searchModeSwitch,.nearbyPanel,.notesField,.aiSecondaryWrap,.aiSearchCompact,.aiSearchBox,.mobileTopTelegram,#siteCityChips,#siteNeedsChips,.quickRecChips{display:none!important;}
  .mainSearch.cleanSearch,.mainSearch{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px!important;margin-top:5px!important;border-radius:20px!important;width:100%!important;}
  .searchIntro{grid-column:1/-1!important;padding:0 1px!important;margin:0!important;min-height:0!important;}
  .searchIntro b{font-size:16px!important;line-height:1!important;letter-spacing:-.035em!important;}
  .searchIntro span{display:none!important;}
  .citySearchField{grid-column:1/-1!important;order:10!important;}
  .typeField{grid-column:1/2!important;order:11!important;display:block!important;}
  .guestsField{grid-column:2/3!important;order:12!important;display:block!important;}
  .budgetField{grid-column:1/-1!important;order:13!important;display:block!important;}
  .searchActions{grid-column:1/-1!important;order:14!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:1px!important;}
  .searchField span,label span{font-size:10px!important;line-height:1!important;margin-bottom:2px!important;}
  .mainSearch input,.mainSearch select{font-size:16px!important;min-height:39px!important;height:39px!important;border-radius:13px!important;padding:6px 9px!important;line-height:1.05!important;}
  .searchSubmit,.telegramHeroMobile{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;height:38px!important;border-radius:14px!important;font-size:12px!important;line-height:1.05!important;padding:5px 6px!important;text-align:center!important;}
  .telegramHeroMobile{background:rgba(47,111,97,.10)!important;color:var(--primary-dark)!important;border:1px solid rgba(47,111,97,.18)!important;}
  .quickRecommendations{display:block!important;margin-top:7px!important;padding:7px!important;border-radius:20px!important;}
  .quickRecHead b{font-size:13px!important;}
  .quickRecChips{display:none!important;}
  .quickRecCards{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:1px 0 2px!important;}
  .quickHomeCard{flex:0 0 min(70vw,260px)!important;border-radius:16px!important;}
  .quickHomeCard .quickRecImage,.quickHomeCard .quickRecImage img{height:84px!important;min-height:0!important;}
  .quickRecCardBody{padding:7px!important;gap:4px!important;}
  .quickRecCardBody p{display:none!important;}
}


/* V59 owner confirmation + information pages */
.infoPage .trustHero { padding-bottom: clamp(22px, 4vw, 42px); }
.infoHeroText { max-width: 920px; }
.infoTextSection { padding-top: clamp(18px, 3vw, 34px); padding-bottom: clamp(18px, 3vw, 34px); }
.infoTextBlock, .infoNotice { max-width: 980px; margin: 0 auto; border: 1px solid rgba(36, 59, 48, 0.12); border-radius: 28px; background: rgba(255, 255, 255, 0.78); box-shadow: 0 18px 48px rgba(36, 59, 48, 0.08); padding: clamp(22px, 4vw, 42px); }
.infoTextBlock h2, .infoNotice h2 { margin: 0 0 14px; color: var(--forest); }
.infoTextBlock p, .infoNotice p { margin: 0 0 14px; color: rgba(36, 59, 48, 0.82); line-height: 1.72; font-size: 1rem; }
.infoTextBlock p:last-child, .infoNotice p:last-child { margin-bottom: 0; }
.infoGrid .trustCard p, .infoSteps .trustCard p { line-height: 1.62; }
.infoNotice { background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(246, 239, 224, 0.76)); }
.ownerConfirm { display: flex !important; align-items: flex-start; gap: 12px; padding: 14px 16px; border: 1px solid rgba(36, 59, 48, 0.14); border-radius: 18px; background: rgba(246, 239, 224, 0.55); color: rgba(36, 59, 48, 0.86); line-height: 1.45; cursor: pointer; }
.ownerConfirm input { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--forest); }
.ownerConfirm span { font-size: 0.94rem; }
.ownerForm button[type="submit"]:disabled { opacity: 0.48; cursor: not-allowed; filter: grayscale(0.25); box-shadow: none; }
@media (max-width: 680px) {
  .infoTextBlock, .infoNotice { border-radius: 22px; padding: 20px; }
  .infoTextBlock p, .infoNotice p { font-size: 0.94rem; line-height: 1.62; }
  .ownerConfirm { padding: 12px 13px; border-radius: 16px; gap: 10px; }
  .ownerConfirm span { font-size: 0.88rem; }
}


/* =========================================================
   StayArmenia V60 FINAL — Telegram direct link + real button text
   ========================================================= */
@media (max-width:720px){
  .topActions .navCta{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:136px!important;min-height:28px!important;padding:0 9px!important;border-radius:999px!important;font-size:9.5px!important;line-height:1.05!important;text-align:center!important;white-space:normal!important;background:#2f6f61!important;color:#fff!important;}
  .topActions .navCta:after{content:none!important;display:none!important;}
  .telegramHeroMobile{font-size:11.5px!important;line-height:1.05!important;white-space:normal!important;}
}

/* sa-v63-social-buttons */
.socialButtons{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.socialButtons .btn{min-width:auto;padding:10px 16px;font-size:14px}
@media (max-width:720px){.socialButtons{gap:8px;margin-top:12px}.socialButtons .btn{padding:9px 12px;font-size:12px}}


/* =========================================================
   StayArmenia V67 FINAL — real mobile responsive layout fix
   Scope: mobile header + hero + search form only.
   ========================================================= */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  /* Header: mobile two-row layout. Row 1 = logo + languages. Row 2 = Telegram CTA. */
  .topbar.cleanTopbar,
  .topbar {
    position: relative !important;
    top: auto !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "brand lang"
      "telegram telegram" !important;
    align-items: center !important;
    gap: 8px 10px !important;
    width: min(calc(100vw - 20px), 720px) !important;
    min-height: 0 !important;
    margin: 8px auto 0 !important;
    padding: 10px 12px !important;
    border-radius: 22px !important;
    background: rgba(255, 253, 248, 0.96) !important;
    border: 1px solid rgba(36, 59, 48, 0.10) !important;
    box-shadow: 0 10px 28px rgba(36, 59, 48, 0.08) !important;
    backdrop-filter: blur(14px) !important;
  }
  .brand.logoBrand,
  a.brand.logoBrand {
    grid-area: brand !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
    min-height: 0 !important;
  }
  .brandLogo,
  .logoBrand .brandLogo {
    display: block !important;
    width: min(44vw, 170px) !important;
    max-width: min(44vw, 170px) !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }
  .topActions {
    display: contents !important;
  }
  .topActions .navLink {
    display: none !important;
  }
  .langSwitch {
    grid-area: lang !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 2px !important;
    width: auto !important;
    max-width: none !important;
    padding: 2px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(36, 59, 48, 0.10) !important;
    box-shadow: none !important;
  }
  .langSwitch button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }
  .topActions .navCta,
  .navCta {
    grid-area: telegram !important;
    justify-self: stretch !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    line-height: 1.08 !important;
    font-weight: 950 !important;
    text-align: center !important;
    white-space: normal !important;
    background: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(47,111,97,.16) !important;
  }
  .topActions .navCta::after,
  .navCta::after {
    content: none !important;
    display: none !important;
  }

  /* Hero: smaller and stable on mobile. */
  .visualHero,
  .hero.focusedHero.singleSearchHero.visualHero {
    min-height: auto !important;
    height: auto !important;
    padding: 12px 0 16px !important;
    overflow: hidden !important;
  }
  .heroCopy,
  .heroCopy.focusedHeroCopy.singleSearchCopy {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 12px !important;
    gap: 10px !important;
  }
  .heroCopy > .eyebrow {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 10px 14px !important;
    border-radius: 18px !important;
    font-size: clamp(18px, 5.4vw, 20px) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.03em !important;
    overflow: visible !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    background: rgba(255, 253, 248, 0.78) !important;
  }
  .heroCopy > .lead {
    display: none !important;
  }

  /* Search form: real mobile column, no squeezed grid. */
  .mainSearch.cleanSearch,
  .mainSearch {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding: 14px !important;
    border-radius: 24px !important;
    background: rgba(255,253,248,.94) !important;
  }
  .searchIntro {
    order: 1 !important;
    display: grid !important;
    grid-column: auto !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .searchIntro b {
    font-size: 19px !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
  }
  .searchIntro span {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
  }
  .searchField,
  .mainSearch label {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
  }
  .citySearchField { order: 2 !important; }
  .typeField { order: 3 !important; }
  .guestsField { order: 4 !important; }
  .budgetField { order: 5 !important; }
  .searchField > span,
  .mainSearch label > span,
  .amenitiesCompactTitle {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    color: var(--muted) !important;
  }
  .cityInputRow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
  }
  .cityToolButtons {
    display: inline-flex !important;
    gap: 6px !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: none !important;
  }
  .cityToolBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(47,111,97,.16) !important;
    background: rgba(47,111,97,.08) !important;
    color: var(--primary-dark) !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }
  .mainSearch input,
  .mainSearch select,
  #heroCity,
  #heroGuests,
  #heroBudget,
  #heroType {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    padding: 11px 13px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    box-sizing: border-box !important;
  }
  .mainSearch input::placeholder,
  .mainSearch select::placeholder {
    text-overflow: ellipsis !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  /* Tags/amenities: clean wrap, no broken width. */
  .amenitiesCompactField {
    order: 6 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    width: 100% !important;
    grid-column: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .amenitiesCompactChips,
  .tags-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .amenitiesCompactChips button,
  .tag-item {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    height: auto !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  .selectedCriteriaBar {
    order: 7 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
  }
  .selectedCriteriaBar[hidden] {
    display: none !important;
  }
  .selectedCriteriaLabel,
  .selectedCriteriaChip {
    font-size: 12px !important;
    line-height: 1 !important;
  }
  .searchActions {
    order: 8 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: auto !important;
  }
  .searchSubmit,
  .telegramHeroMobile {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.08 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .quickRecommendations {
    margin-top: 10px !important;
    border-radius: 22px !important;
  }
}

@media (max-width: 390px) {
  .brandLogo,
  .logoBrand .brandLogo {
    width: min(40vw, 145px) !important;
    max-width: min(40vw, 145px) !important;
  }
  .langSwitch button {
    min-height: 28px !important;
    height: 28px !important;
    padding: 0 5px !important;
    font-size: 10px !important;
  }
  .topActions .navCta,
  .navCta {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 12px !important;
  }
  .searchActions {
    grid-template-columns: 1fr !important;
  }
}
/* V67 high-specificity mobile override: wins over old V55-V66 emergency rules. */
@media (max-width:768px){
  html.sa-v67-mobile-responsive, html.sa-v67-mobile-responsive body{overflow-x:hidden!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}
  html.sa-v67-mobile-responsive .topbar.cleanTopbar, html.sa-v67-mobile-responsive .topbar{position:relative!important;top:auto!important;z-index:20!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand lang" "telegram telegram"!important;align-items:center!important;gap:8px 10px!important;width:min(calc(100vw - 20px),720px)!important;min-height:0!important;margin:8px auto 0!important;padding:10px 12px!important;border-radius:22px!important;background:rgba(255,253,248,.96)!important;border:1px solid rgba(36,59,48,.10)!important;box-shadow:0 10px 28px rgba(36,59,48,.08)!important;backdrop-filter:blur(14px)!important;}
  html.sa-v67-mobile-responsive .brand.logoBrand, html.sa-v67-mobile-responsive a.brand.logoBrand{grid-area:brand!important;justify-self:start!important;display:inline-flex!important;align-items:center!important;width:auto!important;min-width:0!important;max-width:none!important;flex:none!important;min-height:0!important;}
  html.sa-v67-mobile-responsive .brandLogo, html.sa-v67-mobile-responsive .logoBrand .brandLogo{display:block!important;width:min(44vw,170px)!important;max-width:min(44vw,170px)!important;height:auto!important;max-height:42px!important;object-fit:contain!important;}
  html.sa-v67-mobile-responsive .topActions{display:contents!important;}
  html.sa-v67-mobile-responsive .topActions .navLink{display:none!important;}
  html.sa-v67-mobile-responsive .langSwitch{grid-area:lang!important;justify-self:end!important;display:inline-flex!important;align-items:center!important;gap:2px!important;width:auto!important;max-width:none!important;padding:2px!important;border-radius:999px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(36,59,48,.10)!important;box-shadow:none!important;}
  html.sa-v67-mobile-responsive .langSwitch button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;height:30px!important;padding:0 7px!important;border-radius:999px!important;font-size:11px!important;line-height:1!important;font-weight:950!important;white-space:nowrap!important;}
  html.sa-v67-mobile-responsive .topActions .navCta, html.sa-v67-mobile-responsive .navCta{grid-area:telegram!important;justify-self:stretch!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:16px!important;font-size:13px!important;line-height:1.08!important;font-weight:950!important;text-align:center!important;white-space:normal!important;background:var(--primary)!important;color:#fff!important;box-shadow:0 10px 24px rgba(47,111,97,.16)!important;}
  html.sa-v67-mobile-responsive .topActions .navCta:after, html.sa-v67-mobile-responsive .navCta:after{content:none!important;display:none!important;}
  html.sa-v67-mobile-responsive .visualHero, html.sa-v67-mobile-responsive .hero.focusedHero.singleSearchHero.visualHero{min-height:auto!important;height:auto!important;padding:12px 0 16px!important;overflow:hidden!important;}
  html.sa-v67-mobile-responsive .heroCopy, html.sa-v67-mobile-responsive .heroCopy.focusedHeroCopy.singleSearchCopy{width:100%!important;max-width:100%!important;padding:0 12px!important;gap:10px!important;}
  html.sa-v67-mobile-responsive .heroCopy>.eyebrow{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:10px 14px!important;border-radius:18px!important;font-size:clamp(18px,5.4vw,20px)!important;line-height:1.08!important;letter-spacing:-.03em!important;overflow:visible!important;white-space:normal!important;overflow-wrap:anywhere!important;background:rgba(255,253,248,.78)!important;}
  html.sa-v67-mobile-responsive .heroCopy>.lead{display:none!important;}
  html.sa-v67-mobile-responsive .mainSearch.cleanSearch, html.sa-v67-mobile-responsive .mainSearch{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:12px!important;width:100%!important;margin-top:0!important;padding:14px!important;border-radius:24px!important;background:rgba(255,253,248,.94)!important;}
  html.sa-v67-mobile-responsive .searchIntro{order:1!important;display:grid!important;grid-column:auto!important;gap:3px!important;width:100%!important;margin:0!important;padding:0!important;}
  html.sa-v67-mobile-responsive .searchIntro b{font-size:19px!important;line-height:1.12!important;letter-spacing:-.03em!important;}
  html.sa-v67-mobile-responsive .searchIntro span{display:block!important;font-size:12px!important;line-height:1.2!important;}
  html.sa-v67-mobile-responsive .searchField, html.sa-v67-mobile-responsive .mainSearch label{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;grid-column:auto!important;}
  html.sa-v67-mobile-responsive .citySearchField{order:2!important;} html.sa-v67-mobile-responsive .typeField{order:3!important;} html.sa-v67-mobile-responsive .guestsField{order:4!important;} html.sa-v67-mobile-responsive .budgetField{order:5!important;}
  html.sa-v67-mobile-responsive .searchField>span, html.sa-v67-mobile-responsive .mainSearch label>span, html.sa-v67-mobile-responsive .amenitiesCompactTitle{display:block!important;margin:0!important;font-size:12px!important;line-height:1.15!important;font-weight:950!important;color:var(--muted)!important;}
  html.sa-v67-mobile-responsive .cityInputRow{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;width:100%!important;}
  html.sa-v67-mobile-responsive .cityToolButtons{display:inline-flex!important;gap:6px!important;align-items:center!important;justify-content:flex-end!important;flex:none!important;}
  html.sa-v67-mobile-responsive .cityToolBtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:14px!important;border:1px solid rgba(47,111,97,.16)!important;background:rgba(47,111,97,.08)!important;color:var(--primary-dark)!important;font-size:18px!important;line-height:1!important;}
  html.sa-v67-mobile-responsive .mainSearch input, html.sa-v67-mobile-responsive .mainSearch select, html.sa-v67-mobile-responsive #heroCity, html.sa-v67-mobile-responsive #heroGuests, html.sa-v67-mobile-responsive #heroBudget, html.sa-v67-mobile-responsive #heroType{width:100%!important;min-width:0!important;min-height:48px!important;height:48px!important;border-radius:16px!important;padding:11px 13px!important;font-size:16px!important;line-height:1.15!important;box-sizing:border-box!important;}
  html.sa-v67-mobile-responsive .mainSearch input::placeholder{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;}
  html.sa-v67-mobile-responsive .amenitiesCompactField{order:6!important;display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;grid-column:auto!important;margin:0!important;padding:0!important;overflow:visible!important;}
  html.sa-v67-mobile-responsive .amenitiesCompactChips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;}
  html.sa-v67-mobile-responsive .amenitiesCompactChips button{flex:0 0 auto!important;min-height:32px!important;height:auto!important;padding:7px 12px!important;border-radius:999px!important;font-size:14px!important;line-height:1!important;white-space:nowrap!important;}
  html.sa-v67-mobile-responsive .selectedCriteriaBar{order:7!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:7px!important;width:100%!important;margin:0!important;padding:0!important;grid-column:auto!important;}
  html.sa-v67-mobile-responsive .selectedCriteriaBar[hidden]{display:none!important;}
  html.sa-v67-mobile-responsive .selectedCriteriaLabel, html.sa-v67-mobile-responsive .selectedCriteriaChip{font-size:12px!important;line-height:1!important;}
  html.sa-v67-mobile-responsive .searchActions{order:8!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;grid-column:auto!important;}
  html.sa-v67-mobile-responsive .searchSubmit, html.sa-v67-mobile-responsive .telegramHeroMobile{width:100%!important;min-height:48px!important;height:48px!important;border-radius:16px!important;padding:8px 10px!important;font-size:13px!important;line-height:1.08!important;text-align:center!important;white-space:normal!important;}
  html.sa-v67-mobile-responsive .quickRecommendations{margin-top:10px!important;border-radius:22px!important;}
}
@media (max-width:390px){
  html.sa-v67-mobile-responsive .brandLogo, html.sa-v67-mobile-responsive .logoBrand .brandLogo{width:min(40vw,145px)!important;max-width:min(40vw,145px)!important;}
  html.sa-v67-mobile-responsive .langSwitch button{min-height:28px!important;height:28px!important;padding:0 5px!important;font-size:10px!important;}
  html.sa-v67-mobile-responsive .topActions .navCta, html.sa-v67-mobile-responsive .navCta{min-height:38px!important;height:38px!important;font-size:12px!important;}
  html.sa-v67-mobile-responsive .searchActions{grid-template-columns:1fr!important;}
}


/* StayArmenia V68 contextual mobile tools */
@media (max-width:768px){
  html.sa-v68-contextual-tools .label-row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;width:100%!important;margin:0!important}
  html.sa-v68-contextual-tools .map-search-link{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:13px!important;line-height:1!important;font-weight:900!important;color:#1b4332!important;text-decoration:none!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:2px 0!important}
  html.sa-v68-contextual-tools .map-search-link.active{color:#2f6f61!important;text-decoration:underline!important;text-underline-offset:3px!important}
  html.sa-v68-contextual-tools .input-voice-wrapper{position:relative!important;width:100%!important;display:block!important}
  html.sa-v68-contextual-tools .input-voice-wrapper #heroCity{padding-right:44px!important}
  html.sa-v68-contextual-tools .voice-search-btn{position:absolute!important;right:10px!important;top:50%!important;transform:translateY(-50%)!important;width:32px!important;height:32px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#9baaa3!important;font-size:17px!important;padding:0!important}
  html.sa-v68-contextual-tools .input-voice-wrapper:focus-within .voice-search-btn{color:#2f6f61!important}
  html.sa-v68-contextual-tools #siteCityChips.smartChips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;width:100%!important;margin:4px 0 0!important;padding:0!important;max-height:none!important;overflow:visible!important}
  html.sa-v68-contextual-tools #siteCityChips button{flex:0 0 auto!important;min-height:30px!important;padding:6px 11px!important;border-radius:999px!important;border:1px solid rgba(47,111,97,.16)!important;background:rgba(47,111,97,.07)!important;color:#1d4b40!important;font-size:13px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}
}


/* StayArmenia V70 — final mobile Telegram/header + map modal guards */
@media (max-width:768px){
  html.sa-v69-map-modal .topbar.cleanTopbar,html.sa-v69-map-modal .topbar{grid-template-areas:"brand lang"!important;grid-template-columns:minmax(0,1fr) auto!important}
  html.sa-v69-map-modal #navOpenTelegram{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
}
.mapSearchModal[hidden]{display:none!important}
.mapSearchModal{position:fixed;inset:0;z-index:99999;display:flex;align-items:stretch;justify-content:center;background:rgba(21,33,27,.42);backdrop-filter:blur(10px)}
body.sa-map-modal-open{overflow:hidden!important;touch-action:none}
.mapSearchSheet{width:min(760px,100%);height:min(92vh,820px);margin:auto;display:flex;flex-direction:column;background:#fffdf8;border:1px solid rgba(36,59,48,.14);border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(21,33,27,.28)}
.mapSearchHeader{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid rgba(36,59,48,.10);background:rgba(255,253,248,.96)}
.mapBackBtn{flex:0 0 auto;border:0;background:rgba(47,111,97,.10);color:#1b4332;border-radius:999px;padding:10px 13px;font-weight:950;cursor:pointer}
.mapSearchTitleWrap{display:grid;gap:2px;min-width:0}.mapSearchTitleWrap b{font-size:16px;color:#243b30}.mapSearchTitleWrap span{font-size:12px;color:rgba(36,59,48,.62);font-weight:750}
.mapSearchControls{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(36,59,48,.08)}
.mapSearchControls label{display:grid;gap:5px;min-width:0}.mapSearchControls span{font-size:12px;color:rgba(36,59,48,.68);font-weight:900}.mapSearchControls select{width:100%;height:44px;border-radius:14px;border:1px solid rgba(36,59,48,.12);background:#fff;color:#243b30;font-size:16px;font-weight:850;padding:0 10px}
.mapSearchModal .nearbyPanel,html.sa-v69-map-modal .mapSearchModal .nearbyPanel{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:0!important;padding:14px!important;background:#f8f4ec!important}
.mapSearchModal .nearbyMap,.mapSearchModal .nearbyMap .leaflet-container,.mapSearchModal .nearbyMap.leaflet-container{flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:360px!important;border-radius:22px!important}
.mapSearchModal .nearbyMapNote{display:block!important;margin:10px 2px 0!important;color:rgba(36,59,48,.65)!important;font-size:13px!important;font-weight:800!important}
@media(max-width:768px){.mapSearchSheet{width:100%;height:100%;margin:0;border-radius:0;border:0}.mapSearchHeader{padding:12px}.mapBackBtn{padding:9px 11px;font-size:13px}.mapSearchControls{padding:10px 12px;gap:8px}.mapSearchModal .nearbyPanel{padding:12px!important}.mapSearchModal .nearbyMap,.mapSearchModal .nearbyMap .leaflet-container,.mapSearchModal .nearbyMap.leaflet-container{min-height:60vh!important}}
