:root {
  --navy: #1c3654;
  --navy-2: #24476b;
  --teal: #2b8c99;
  --teal-dark: #1f6e79;
  --gold: #c49a5c;
  --gold-dark: #a37a3c;
  --text: #2b2f36;
  --muted: #6b7280;
  --bg: #ffffff;
  --bg-alt: #f6f4ef;
  --radius: 14px;
  --shadow: 0 10px 30px rgba(18, 38, 58, 0.08);
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: "Montserrat", system-ui, sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: "Oswald", "Arial Narrow", sans-serif; color: var(--navy); line-height: 1.2; }
h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); margin-bottom: .5rem; }

.container { width: min(1180px, 100% - 32px); margin-inline: auto; }

.btn {
  display: inline-block;
  background: var(--gold);
  color: #fff;
  border: 0;
  padding: .85rem 1.6rem;
  border-radius: 999px;
  font: 600 1rem "Montserrat", sans-serif;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s;
}
.btn:hover { background: var(--gold-dark); }
.btn-small { padding: .55rem 1.2rem; font-size: .95rem; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #eee;
}
.nav { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.logo { font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--navy); text-decoration: none; }
.logo span { color: var(--gold); margin-left: 4px; }
.nav-links { display: flex; align-items: center; gap: 1.8rem; }
.nav-links a { text-decoration: none; font-weight: 500; }
.nav-links a:not(.btn):hover { color: var(--gold); }
.nav-toggle { display: none; background: none; border: 0; font-size: 1.6rem; cursor: pointer; color: var(--navy); }

/* Hero */
.hero {
  position: relative;
  min-height: 82vh;
  display: flex; align-items: center;
  background: url("images/hero.jpg") center/cover;
  color: #fff;
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,38,58,.85), rgba(18,38,58,.35)); }
.hero-content { position: relative; padding: 4rem 0; }
.hero h1 { color: #fff; font-size: clamp(2.4rem, 6vw, 4.2rem); margin-bottom: 1rem; }
.hero p { max-width: 560px; font-size: 1.15rem; opacity: .92; margin-bottom: 2rem; }

.search {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
  gap: .6rem;
  background: #fff;
  padding: .6rem;
  border-radius: 999px;
  max-width: 1100px;
  box-shadow: var(--shadow);
}
.search select {
  border: 0; background: transparent;
  padding: .8rem 1rem;
  font: inherit; color: var(--text);
  cursor: pointer;
}
.search select:not(:last-of-type) { border-right: 1px solid #eee; }

/* Stats */
.stats { background: var(--navy); color: #fff; padding: 2.2rem 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); text-align: center; gap: 1rem; }
.stats strong { display: block; font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 2.2rem; color: var(--gold); }
.stats span { opacity: .85; }

/* Sections */
.section { padding: 5rem 0; }
.section.alt { background: var(--bg-alt); }
.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 2.5rem; gap: 1rem; flex-wrap: wrap; }
.section-head.center { flex-direction: column; align-items: center; text-align: center; }
.section-head p { color: var(--muted); }

/* Property cards */
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.8rem; }
.card {
  background: #fff;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform .25s, box-shadow .25s;
}
.card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(18,38,58,.14); }
.card-img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; background: #e5e7eb; border: 0; padding: 0; cursor: zoom-in; overflow: hidden; }
.card-img img { transition: transform .4s; }
.card-img:hover img { transform: scale(1.04); }
.badge.new { background: #15803d; }
.photo-count { position: absolute; right: 12px; bottom: 12px; background: rgba(0,0,0,.6); color: #fff; font-size: .85rem; padding: .25rem .6rem; border-radius: 999px; }
.card-complex { color: var(--gold-dark); font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .2rem; }
.card-details { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; font-size: .9rem; margin-bottom: 1rem; }
.card-details span { display: block; color: var(--muted); font-size: .78rem; }
.btn-outline { background: transparent; color: var(--navy); border: 1px solid var(--gold); }
.btn-outline:hover { background: var(--gold); color: #fff; }
.project-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.card-img img { width: 100%; height: 100%; object-fit: cover; }
.badge {
  position: absolute; top: 14px; left: 14px;
  background: var(--navy); color: #fff;
  font-size: .8rem; font-weight: 600;
  padding: .3rem .8rem; border-radius: 999px;
}
.badge.rent { background: var(--gold); }
.card-body { padding: 1.3rem 1.4rem 1.5rem; }
.card-body h3 { font-size: 1.25rem; margin-bottom: .2rem; }
.card-loc { color: var(--muted); font-size: .95rem; margin-bottom: 1rem; }
.card-meta { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; white-space: nowrap; font-size: .9rem; color: var(--muted); padding-bottom: 1rem; border-bottom: 1px solid #eee; margin-bottom: 1rem; }
.card-foot { display: flex; justify-content: space-between; align-items: center; }
.price { font-size: 1.35rem; font-weight: 600; color: var(--navy); }
.price small { font-size: .85rem; color: var(--muted); font-weight: 400; }
.card-foot a { color: var(--gold-dark); font-weight: 600; text-decoration: none; }
/* Обща търсачка */
.card-img.is-plan { background: #fff; border-bottom: 1px solid #eee; }
.card-img.is-plan img { object-fit: contain; padding: .6rem; }
.badge.building { background: var(--gold-dark); }
.badge.second { left: auto; right: 14px; }
.card-foot { gap: .8rem; flex-wrap: wrap; }
.card-foot .price { flex-basis: 100%; }
.card-foot a[data-title] { margin-left: auto; }
.card-foot .price small { display: block; font-size: .75rem; }
.card-foot a.card-link { color: var(--muted); font-weight: 500; font-size: .9rem; }
.results-tools { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.results-tools select { font: inherit; font-size: .9rem; padding: .5rem .8rem; border: 1px solid #ddd; border-radius: 8px; background: #fff; color: var(--text); }
.more-wrap { text-align: center; margin-top: 2.2rem; }
.card-desc { font-size: .9rem; line-height: 1.55; color: var(--text); margin: -.4rem 0 .3rem;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-desc.open { display: block; }
.desc-toggle { background: none; border: 0; padding: 0; margin-bottom: 1rem; font: inherit; font-size: .85rem; font-weight: 600; color: var(--teal-dark); cursor: pointer; }
.empty { grid-column: 1 / -1; text-align: center; color: var(--muted); padding: 3rem 0; }

/* Projects */
.dropdown { position: relative; }
.dropdown-menu {
  display: none;
  position: absolute; top: 100%; left: -1rem;
  min-width: 190px;
  background: #fff; border-radius: 10px; box-shadow: var(--shadow);
  padding: .5rem 0; margin-top: .4rem;
}
.dropdown-menu::before { content: ""; position: absolute; top: -.6rem; left: 0; right: 0; height: .6rem; }
.dropdown-menu a { display: block; padding: .55rem 1.2rem; }
.dropdown-menu a:hover { background: var(--bg-alt); }
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu { display: block; }

.project-tabs { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; margin-bottom: 2rem; }
.project-tabs a { text-decoration: none; padding: .5rem 1.2rem; border: 1px solid var(--gold); border-radius: 999px; color: var(--navy); font-weight: 500; }
.project-tabs a:hover { background: var(--gold); color: #fff; }
.project-group { font-size: 1.5rem; padding-bottom: .6rem; border-bottom: 2px solid var(--gold); margin: 3rem 0 1.8rem; scroll-margin-top: 90px; }
.project-group:first-of-type { margin-top: 0; }
.project-empty { color: var(--muted); font-style: italic; }
.project-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: 1.5rem; text-align: center; }
.project-facts div { background: #fff; border-radius: 10px; padding: .7rem .3rem; }
.project-facts strong { display: block; font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.3rem; color: var(--gold-dark); }
.project-facts span { font-size: .8rem; color: var(--muted); }
.project { display: grid; grid-template-columns: 1fr 1.5fr; gap: 3rem; align-items: center; }
.project-tag.building { background: var(--navy); }
.project + .project { margin-top: 4rem; padding-top: 4rem; border-top: 1px solid #e5e1d6; }
.project-tag { display: inline-block; background: var(--gold); color: #fff; font-size: .8rem; font-weight: 600; padding: .3rem .8rem; border-radius: 999px; margin-bottom: 1rem; }
.project h3 { font-size: 2rem; margin-bottom: 1rem; }
.project-text p { color: var(--muted); margin-bottom: 1.5rem; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.gallery a { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 4 / 3; }
.gallery a.big { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
/* Галерия с 4 снимки: голямата е отгоре на цялата ширина, другите три под нея */
.gallery-wide a.big { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 9; }
.gallery a:hover img { transform: scale(1.05); }
.lightbox { position: fixed; inset: 0; z-index: 100; background: rgba(10,20,30,.92); display: flex; align-items: center; justify-content: center; padding: 50px 16px 40px; }
.lightbox img { background: #fff; }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: 100%; max-height: 100%; border-radius: 8px; }
.lightbox img[hidden] { display: none; }
.lightbox.pair { gap: 14px; padding-left: 70px; padding-right: 70px; }
.lightbox.pair img { max-width: calc(50% - 7px); min-width: 0; object-fit: contain; }
@media (max-width: 800px), (orientation: portrait) {
  .lightbox.pair { flex-direction: column; padding: 56px 12px 40px; }
  .lightbox.pair img { max-width: 100%; max-height: calc(50% - 7px); }
}
.lightbox-close { position: absolute; top: 12px; right: 18px; background: none; border: 0; color: #fff; font-size: 2.5rem; cursor: pointer; z-index: 1; }
.lightbox-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,255,255,.15); border: 0; color: #fff;
  font-size: 2.2rem; line-height: 1; cursor: pointer; transition: background .2s;
}
.lightbox-nav:hover { background: var(--gold); }
.lightbox-nav.prev { left: 16px; }
.lightbox-nav.next { right: 16px; }
.lightbox-caption { position: absolute; top: 14px; left: 70px; right: 70px; text-align: center; color: #fff; font-weight: 600; font-size: 1rem; }
.lightbox-count { position: absolute; bottom: 14px; left: 0; right: 0; text-align: center; color: rgba(255,255,255,.8); font-size: .95rem; }

/* показваме първите 6 снимки, останалите се виждат в прегледа */
.gallery a:nth-child(n+7) { display: none; }
.gallery[data-more] a:nth-child(6) { position: relative; }
.gallery[data-more] a:nth-child(6)::after {
  content: "+" attr(data-more-count) " снимки";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(18,38,58,.6); color: #fff; font-weight: 600; font-size: 1.1rem;
}
.video { position: relative; aspect-ratio: 16 / 9; margin-top: .7rem; border-radius: 10px; overflow: hidden; background: #000; }
.video iframe, .video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video video { object-fit: contain; background: #000; }
.video-label { margin: 1rem 0 -.3rem; font-weight: 600; color: var(--navy); font-size: .95rem; }
.video-history { margin-top: 1rem; border: 1px solid #e3e7ec; border-radius: 10px; padding: .2rem .9rem .9rem; background: #f7f9fb; }
.video-history > summary { cursor: pointer; padding: .55rem 0 .1rem; font-weight: 600; color: var(--teal-dark); font-size: .95rem; list-style-position: inside; }
.video-history:not([open]) { padding-bottom: .35rem; }
.video-dl { display: inline-flex; align-items: center; gap: .35rem; margin-top: .5rem; padding: .4rem .85rem; border: 1px solid var(--teal-dark); border-radius: 8px; color: var(--teal-dark); font-weight: 600; font-size: .9rem; text-decoration: none; }
.video-dl:hover { background: var(--teal-dark); color: #fff; }
.video-dl small { font-weight: 400; opacity: .8; }

/* Ценова листа Paradise Residence 2 */
.pricelist { margin-top: 3rem; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow); padding: 1.8rem; scroll-margin-top: 90px; }
.pricelist h3 { font-size: 1.5rem; margin-bottom: .3rem; }
.pricelist h4 { font-family: "Montserrat", sans-serif; font-size: 1rem; color: var(--navy); margin-bottom: .5rem; }
.pricelist-head p { color: var(--muted); margin-bottom: 1.2rem; }
.pricelist-filters { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin-bottom: 1rem; }
.pricelist-filters select { padding: .55rem .8rem; border: 1px solid #ddd; border-radius: 8px; font: inherit; background: #fff; }
.pricelist-count { color: var(--muted); margin-left: auto; }
.table-wrap { overflow-x: auto; border: 1px solid #eee; border-radius: 10px; max-height: 560px; overflow-y: auto; }
.pricelist-table { width: 100%; border-collapse: collapse; font-size: .92rem; font-variant-numeric: tabular-nums; }
.pricelist-table th { position: sticky; top: 0; background: var(--bg-alt); text-align: left; font-weight: 600; font-size: .8rem; color: var(--navy); padding: .6rem .7rem; white-space: nowrap; }
.pricelist-table td { padding: .55rem .7rem; border-top: 1px solid #f0ede6; white-space: nowrap; }
.pricelist-table .num { text-align: right; }
.pricelist-table tbody tr { cursor: pointer; }
.pricelist-table tbody tr:hover { background: #fbf8f1; }
.pricelist-table.static tbody tr { cursor: default; }
.plans-title { margin: 1.6rem 0 .8rem; }
.plan-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(125px, 1fr)); gap: .8rem; }
.plan-thumb { display: grid; gap: .35rem; padding: .4rem; background: #fff; border: 1px solid #e5e1d6; border-radius: 10px; cursor: zoom-in; font: 600 .82rem "Montserrat", sans-serif; color: var(--navy); text-align: center; }
.plan-thumb img { width: 100%; aspect-ratio: 1.41; object-fit: contain; background: #fff; }
.plan-thumb:hover { border-color: var(--gold); box-shadow: var(--shadow); }
.project-next { margin-top: 4rem; padding-top: 4rem; border-top: 1px solid #e5e1d6; }
.pricelist-table .apt { font-weight: 700; color: var(--navy); }
.pricelist-table .price { font-size: 1rem; }
.pricelist-table .plan-btn { background: none; border: 1px solid var(--gold); color: var(--gold-dark); border-radius: 999px; padding: .25rem .7rem; font: 600 .82rem "Montserrat", sans-serif; cursor: pointer; }
.pricelist-table .plan-btn:hover { background: var(--gold); color: #fff; }
.pricelist-info { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 1.6rem 0; }
.pricelist-info ul { list-style: none; color: var(--text); font-size: .92rem; display: grid; gap: .3rem; }
.pricelist-info li::before { content: "•"; color: var(--gold); margin-right: .5rem; }
.parking { display: grid; grid-template-columns: 1fr 1.3fr; gap: 2rem; padding-top: 1.6rem; border-top: 1px solid #eee; }
.parking-plan { display: block; border-radius: 10px; overflow: hidden; border: 1px solid #eee; max-height: 460px; cursor: zoom-in; }
.parking-plan img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.parking p { color: var(--muted); font-size: .92rem; margin-bottom: .8rem; }
.parking .parking-type { color: var(--text); margin: 1rem 0 .5rem; }
.dot { display: inline-block; width: .8rem; height: .8rem; border-radius: 50%; margin-right: .4rem; vertical-align: -1px; }
.dot.covered { background: #1d4ed8; }
.dot.open { background: #15803d; }
.chips { display: flex; flex-wrap: wrap; gap: .3rem; margin-bottom: 1rem; }
.chips span { font-size: .78rem; padding: .15rem .5rem; border-radius: 999px; background: var(--bg-alt); font-variant-numeric: tabular-nums; }
.chips span.is-reserved { background: #f3e3c4; color: var(--gold-dark); font-weight: 600; }

/* Интерактивна карта на Paradise Homes */
.site-map-wrap { margin-top: 1.8rem; padding-top: 1.6rem; border-top: 1px solid #eee; }
.site-map-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: .6rem 1.5rem; margin-bottom: .8rem; }
.site-map-legend { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; font-size: .85rem; color: var(--muted); }
.dot.taken { background: #9ca3af; }
.site-map { position: relative; max-width: 900px; margin: 0 auto; border-radius: 10px; overflow: hidden; container-type: inline-size; aspect-ratio: 1 / 1; background: #e8eadf; }
.site-map img { width: 100%; height: 100%; display: block; object-fit: cover; }
.map-pin {
  position: absolute; transform: translate(-50%, -50%);
  font: 700 clamp(.5rem, 1.75cqw, .9rem) "Montserrat", sans-serif; line-height: 1;
  padding: .3em .4em; border-radius: 999px; white-space: nowrap;
  background: #15803d; color: #fff; border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.35); cursor: pointer;
  transition: transform .15s, background .15s;
}
.map-pin:hover, .map-pin:focus-visible, .map-pin.active { background: var(--gold-dark); transform: translate(-50%, -50%) scale(1.25); z-index: 2; outline: none; }
.map-pin.taken { background: rgba(75, 85, 99, .8); cursor: default; box-shadow: none; font-weight: 600; opacity: .9; }
.map-pin.taken:hover { transform: translate(-50%, -50%); background: rgba(75, 85, 99, .8); }
/* На тясна карта (телефон) надписите не се събират — бутоните стават точки */
@container (max-width: 560px) {
  .map-pin { font-size: 0; padding: 0; width: 3.4cqw; height: 3.4cqw; min-width: 10px; min-height: 10px; border-width: 1.5px; }
  .map-pin.taken { width: 2.6cqw; height: 2.6cqw; min-width: 8px; min-height: 8px; }
}
.site-map-tip {
  position: absolute; z-index: 3; width: max-content; max-width: 240px;
  transform: translate(-50%, calc(-100% - 22px));
  background: #fff; color: var(--text); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.25);
  padding: .7rem .9rem; display: grid; gap: .15rem; font-size: .82rem; pointer-events: none;
}
.site-map-tip strong { color: var(--navy); font-size: .92rem; }
.site-map-tip b { color: #15803d; font-size: .95rem; }
.site-map-tip em { color: var(--muted); font-size: .75rem; }
.site-map-tip.below { transform: translate(-50%, 22px); }
.site-map-tip.left { transform: translate(calc(-100% + 30px), calc(-100% - 22px)); }
.site-map-tip.left.below { transform: translate(calc(-100% + 30px), 22px); }
.site-map-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; }
.site-map-foot .chips { margin: 0; }
.site-map-foot .chips button { font: 600 .8rem "Montserrat", sans-serif; padding: .3rem .7rem; border-radius: 999px; border: 1px solid #15803d; background: #fff; color: #15803d; cursor: pointer; font-variant-numeric: tabular-nums; }
.site-map-foot .chips button:hover { background: #15803d; color: #fff; }

/* Services */
.services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.services article { background: #fff; padding: 2rem 1.6rem; border-radius: var(--radius); box-shadow: var(--shadow); }
.services .icon { font-size: 2rem; margin-bottom: 1rem; }
.services h3 { margin-bottom: .5rem; }
.services p { color: var(--muted); }

/* About */
.about { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.about img { border-radius: var(--radius); box-shadow: var(--shadow); aspect-ratio: 5 / 4; object-fit: cover; }
.about p { color: var(--muted); margin: 1rem 0 1.5rem; }
.checks { list-style: none; margin-bottom: 2rem; }
.checks li { padding-left: 1.8rem; position: relative; margin-bottom: .6rem; }
.checks li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); font-weight: 700; }

/* Contact */
.contact { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; }
.contact > div p { color: var(--muted); margin: 1rem 0 1.5rem; }
.contact-info { list-style: none; }
.contact-info li { margin-bottom: .8rem; }
.contact-info a { text-decoration: none; }
.contact-info a:hover { color: var(--gold-dark); }
.contact-form { display: grid; gap: 1rem; background: #fff; padding: 2rem; border-radius: var(--radius); box-shadow: var(--shadow); }
.contact-form input, .contact-form textarea {
  width: 100%;
  padding: .9rem 1rem;
  border: 1px solid #ddd;
  border-radius: 10px;
  font: inherit;
}
.contact-form input:focus, .contact-form textarea:focus { outline: 2px solid var(--gold); border-color: transparent; }
.contact-form .hp { position: absolute; left: -9999px; }
.form-status { font-size: .95rem; }
.form-status.ok { color: #15803d; }
.form-status.err { color: #b91c1c; }

/* Footer */
.site-footer { background: var(--navy); color: rgba(255,255,255,.75); padding: 2rem 0; }
.site-footer .logo { color: #fff; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }

/* Responsive */
@media (max-width: 960px) {
  .services { grid-template-columns: repeat(2, 1fr); }
  .about, .contact, .project, .parking, .pricelist-info { grid-template-columns: 1fr; gap: 2.5rem; }
  .pricelist { padding: 1.2rem; }
  .pricelist-count { margin-left: 0; width: 100%; }
}
@media (max-width: 720px) {
  .nav-toggle { display: block; }
  .nav-links {
    display: none;
    position: absolute; top: 72px; left: 0; right: 0;
    flex-direction: column; gap: 1rem;
    background: #fff; padding: 1.5rem;
    border-bottom: 1px solid #eee;
  }
  .nav-links.open { display: flex; }
  .dropdown { text-align: center; }
  .dropdown-menu { display: block; position: static; box-shadow: none; padding: 0; margin: .3rem 0 0; }
  .dropdown-menu a { padding: .35rem 0; color: var(--muted); }
  .dropdown-toggle span { display: none; }
  .project-facts { grid-template-columns: repeat(2, 1fr); }
  .search { grid-template-columns: 1fr; border-radius: var(--radius); }
  .search select:not(:last-of-type) { border-right: 0; border-bottom: 1px solid #eee; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: 1.5rem; }
  .services { grid-template-columns: 1fr; }
  .section { padding: 3.5rem 0; }
}

/* ===== Бранд (лого Paradise Realty — Live in Paradise) ===== */
h1, h2, h3 { font-weight: 600; letter-spacing: .01em; }
.nav { height: 86px; }
.logo { display: flex; align-items: center; }
.logo img { height: 64px; width: auto; display: block; }
.nav-links a:not(.btn):hover { color: var(--teal); }
.btn { background: var(--teal); }
.btn:hover { background: var(--navy); }
.btn-outline { background: transparent; color: var(--navy); border: 1px solid var(--teal); }
.btn-outline:hover { background: var(--teal); color: #fff; }
.hero-overlay { background: linear-gradient(90deg, rgba(28,54,84,.9), rgba(28,54,84,.35)); }
.hero h1 { text-transform: uppercase; letter-spacing: .02em; font-weight: 700; }
.hero-tagline {
  display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1rem;
  font: 600 .95rem "Montserrat", sans-serif; text-transform: uppercase; letter-spacing: .35em;
  color: var(--gold); opacity: 1;
}
.hero-tagline img { width: 42px; height: 42px; }
.stats strong { font-weight: 600; }
.checks li::before { color: var(--teal); }
.project-tabs a { border-color: var(--teal); }
.project-tabs a:hover { background: var(--teal); }
.project-group { border-bottom-color: var(--teal); }
.pricelist-table .plan-btn { border-color: var(--teal); color: var(--teal-dark); }
.pricelist-table .plan-btn:hover { background: var(--teal); color: #fff; }
.plan-thumb:hover { border-color: var(--teal); }
.card-foot a { color: var(--teal-dark); }
.contact-form input:focus, .contact-form textarea:focus { outline-color: var(--teal); }
.footer-brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; color: #fff; }
.footer-brand img { width: 52px; height: 52px; }
.footer-brand strong { display: block; font: 600 1.6rem/1 "Oswald", "Arial Narrow", sans-serif; text-transform: uppercase; letter-spacing: .03em; }
.footer-brand em { display: block; font: 600 .7rem "Montserrat", sans-serif; font-style: normal; text-transform: uppercase; letter-spacing: .35em; color: var(--gold); margin-top: .35rem; }
@media (max-width: 720px) {
  .nav { height: 64px; }
  .logo img { height: 44px; }
  .nav-links { top: 64px; }
  .hero-tagline { font-size: .75rem; letter-spacing: .25em; }
  .hero-tagline img { width: 32px; height: 32px; }
}

/* ===== Бутон и страница за PDF ценоразпис ===== */
.pricelist-head { position: relative; }
.pdf-btn { margin: 0 0 1.2rem; font-size: .9rem; padding: .55rem 1.1rem; cursor: pointer; }
.pdf-btn:disabled { opacity: .6; cursor: wait; }
.media-btn { cursor: pointer; font: 600 1rem "Montserrat", sans-serif; }
.media-btn:disabled, .card-media:disabled { opacity: .6; cursor: wait; }
.card-media { flex-basis: 100%; padding: .4rem .6rem; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; color: var(--muted); font: 500 .85rem "Montserrat", sans-serif; cursor: pointer; }
.card-media:hover { border-color: var(--teal-dark); color: var(--teal-dark); }
.lightbox-save { position: absolute; top: 20px; left: 18px; z-index: 1; padding: .35rem .8rem; border: 1px solid rgba(255,255,255,.6); border-radius: 8px; color: #fff; font-size: .9rem; text-decoration: none; }
.lightbox-save:hover { background: rgba(255,255,255,.15); }
.lightbox-save[hidden] { display: none; }
.video-save { display: inline-block; margin-top: .5rem; color: var(--teal-dark); font-size: .9rem; font-weight: 600; text-decoration: none; }
.video-save:hover { text-decoration: underline; }
/* Страницата се рендерира извън екрана, в ширината на A4 landscape */
.pdf-wrap { position: fixed; left: 0; top: 0; width: 0; height: 0; overflow: hidden; }
.pdf-page { width: 1040px; box-sizing: border-box; background: #fff; color: #2b2f36; font: 13px/1.45 "Montserrat", sans-serif; padding: 8px 4px; }
.pdf-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 3px solid var(--teal); padding-bottom: 10px; margin-bottom: 10px; }
.pdf-head div { text-align: left; display: grid; }
.pdf-head span { font: 600 11px "Montserrat", sans-serif; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-dark); }
.pdf-head strong { font: 600 26px/1.1 "Oswald", sans-serif; color: var(--navy); text-transform: uppercase; }
.pdf-head em { font-style: normal; font-size: 11px; color: #6b7280; }
.pdf-note { color: #4b5563; margin: 0 0 10px; }
.pdf-page .pricelist-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.pdf-page .pricelist-table th { position: static; background: var(--navy); color: #fff; padding: 6px 8px; font-size: 11px; }
.pdf-page .pricelist-table td { padding: 5px 8px; border-bottom: 1px solid #e5e7eb; }
.pdf-page .pricelist-table tbody tr:nth-child(even) td { background: #f6f8fa; }
.pdf-page .pricelist-table .price { color: var(--navy); }
.pdf-info { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.pdf-box { flex: 1 1 300px; border: 1px solid #e5e7eb; border-left: 4px solid var(--teal); border-radius: 6px; padding: 8px 12px; }
.pdf-box h4 { font: 600 14px "Oswald", sans-serif; text-transform: uppercase; color: var(--navy); margin: 0 0 6px; }
.pdf-box ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pdf-box li::before { content: "• "; color: var(--teal); }
.pdf-box p { margin: 6px 0 4px; }
.pdf-box .chips { display: flex; flex-wrap: wrap; gap: 4px; }
.pdf-box .chips span, .pdf-box .chips button { font-size: 10.5px; padding: 1px 6px; border-radius: 999px; background: #eef2f5; border: 0; color: #2b2f36; }
.pdf-box .chips span.is-reserved { background: #f3e3c4; color: var(--gold-dark); font-weight: 600; }
.pdf-foot { margin-top: 14px; padding-top: 8px; border-top: 1px solid #e5e7eb; display: grid; gap: 2px; font-size: 11px; color: #4b5563; }
.pdf-foot em { font-style: normal; color: #9ca3af; }

/* Иконки за чат приложения до телефоните */
.phone-line { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem; }
.messengers { display: inline-flex; gap: .35rem; }
.messengers a { width: 28px; height: 28px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; transition: transform .15s, box-shadow .15s; }
.messengers a:hover { transform: scale(1.12); box-shadow: 0 2px 8px rgba(0,0,0,.2); }

/* Иконки за чат в горното меню (първия телефон) */
.header-messengers { order: 4; margin-left: 1.2rem; }
.nav-links { order: 3; }
.header-messengers a { width: 32px; height: 32px; }
@media (max-width: 720px) {
  .header-messengers { order: 2; margin-left: auto; margin-right: .6rem; }
  .nav-toggle { order: 3; }
  .header-messengers a { width: 30px; height: 30px; }
}

/* Езици — флагове в хедъра */
.lang-switch { order: 5; display: flex; gap: .4rem; margin-left: 1rem; }
.lang-switch a { display: flex; align-items: center; gap: .3rem; text-decoration: none; color: var(--muted); font-size: .75rem; font-weight: 600; opacity: .6; transition: opacity .2s; }
.lang-switch a:hover, .lang-switch a.active { opacity: 1; color: var(--navy); }
.lang-switch svg { width: 24px; height: 16px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); display: block; }
.lang-switch a.active svg { box-shadow: 0 0 0 2px var(--teal); }
.lang-switch span { display: none; }
@media (max-width: 1100px) { .nav-links { gap: 1.2rem; } .header-messengers { margin-left: .8rem; } }
@media (max-width: 720px) {
  .lang-switch { order: 2; margin-left: auto; margin-right: .5rem; gap: .35rem; }
  .lang-switch a.active { display: none; }
  .lang-switch svg { width: 22px; height: 15px; }
  .header-messengers { order: 3; margin-left: 0; }
  .nav-toggle { order: 4; }
}

/* Консултант до телефона в контактите */
.contact-info li.agent { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0; }
.agent img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex-shrink: 0; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--teal); }
.agent strong { display: block; font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.15rem; font-weight: 600; color: var(--navy); margin-bottom: .2rem; }

/* Продаден имот: табела върху снимката, без кликане */
.card.is-sold .card-img { cursor: default; }
.card.is-sold .card-img img { filter: grayscale(.55) brightness(.85); }
.card.is-sold:hover { transform: none; box-shadow: var(--shadow); }
.card.is-sold .card-img:hover img { transform: none; }
.sold-stamp {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-12deg);
  padding: .45rem 1.6rem; border: 3px solid #fff; border-radius: 6px;
  background: rgba(196, 30, 58, .92); color: #fff;
  font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  box-shadow: 0 6px 20px rgba(0,0,0,.3); pointer-events: none;
}
.card.is-sold .price { color: var(--muted); text-decoration: line-through; }

/* Мозайка с проектите в строеж */
.project-mosaic { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; margin: 0 0 3.5rem; }
.mosaic-tile { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); color: #fff; text-decoration: none; background: var(--navy); }
.mosaic-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.mosaic-tile:hover img { transform: scale(1.05); }
.mosaic-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(18,38,58,.95) 0%, rgba(18,38,58,.75) 38%, rgba(18,38,58,.15) 75%, rgba(18,38,58,0) 100%); }
.mosaic-text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: .9rem 1rem; display: flex; flex-direction: column; gap: .15rem; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.mosaic-text strong { font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.2rem; font-weight: 600; line-height: 1.15; }
.mosaic-text em { font-style: normal; font-size: .85rem; opacity: .9; }
.mosaic-text span { font-size: .85rem; font-weight: 600; color: var(--gold); }
.project[id] { scroll-margin-top: 100px; }
@media (max-width: 720px) {
  .project-mosaic { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .mosaic-text { padding: .6rem .7rem; }
  .mosaic-text strong { font-size: 1rem; }
  .mosaic-text em, .mosaic-text span { font-size: .72rem; }
  .project[id] { scroll-margin-top: 76px; }
}

/* Предложение за руска/английска версия */
.lang-hint { position: fixed; left: 50%; bottom: 1rem; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: .7rem; max-width: calc(100% - 2rem); padding: .6rem .7rem .6rem 1rem; border-radius: 999px; background: var(--navy); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: .9rem; }
.lang-hint svg { width: 24px; height: 16px; border-radius: 3px; flex-shrink: 0; }
.lang-hint a { background: var(--teal); color: #fff; text-decoration: none; font-weight: 600; padding: .35rem .9rem; border-radius: 999px; white-space: nowrap; }
.lang-hint button { background: none; border: 0; color: #fff; font-size: 1.3rem; line-height: 1; cursor: pointer; opacity: .7; padding: 0 .2rem; }

/* Консултант без снимка: кръг с инициалите (в CSS, за да не влизат в текста на PDF-а) */
.agent-avatar { width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--navy); box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--teal); }
.agent-avatar::before { content: attr(data-initials); font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 1.6rem; font-weight: 600; color: var(--gold); letter-spacing: .03em; }
.lang-hint span { flex: 1; }
@media (max-width: 720px) {
  .lang-hint { left: .75rem; right: .75rem; bottom: .75rem; transform: none; max-width: none; border-radius: 14px; font-size: .85rem; line-height: 1.3; }
}

/* Ценоразпис: резервиран апартамент и предстояща цена */
.pricelist-table tr.is-reserved td { color: var(--muted); }
.reserved-tag { display: inline-block; padding: .15rem .6rem; border-radius: 999px; background: #f3e3c4; color: var(--gold-dark); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.price-next { display: block; font-size: .75rem; font-weight: 500; color: var(--gold-dark); white-space: nowrap; }
.price-change { margin-top: .5rem; padding: .6rem .9rem; border-left: 3px solid var(--gold); background: #fbf6ec; border-radius: 6px; font-size: .9rem; color: var(--text); }

/* FAQ */
.faq { max-width: 820px; }
.faq-item { border: 1px solid #e6e1d6; border-radius: var(--radius); background: var(--bg); margin-bottom: .75rem; }
.faq-item summary { cursor: pointer; padding: 1rem 3rem 1rem 1.25rem; font-weight: 600; color: var(--navy); list-style: none; position: relative; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 1.25rem; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--gold); }
.faq-item[open] summary::after { content: "−"; }
.faq-item > div { padding: 0 1.25rem 1.1rem; color: var(--text); line-height: 1.6; }

/* Списък на имотите без JavaScript (за търсачки и AI) */
.static-list { width: 100%; border-collapse: collapse; font-size: .9rem; }
.static-list th, .static-list td { padding: .45rem .6rem; border-bottom: 1px solid #e6e1d6; text-align: left; }
/* Кой е строителят на проекта */
.project-builder { margin: -.25rem 0 .75rem; font-size: .9rem; font-weight: 600; color: var(--gold-dark); }


/* Планът на гаража до паркоместата */
.garage-thumb { max-width: 340px; margin-bottom: 1rem; }

/* Брошури по сгради (Paradise Residence 2, българската страница) */
.brochure-links { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; font-size: .9rem; font-weight: 600; color: var(--navy); }
.brochure-links a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.4rem; padding: .45rem .8rem; border: 2px solid var(--gold); border-radius: 999px; color: var(--navy); text-decoration: none; font-weight: 700; }
.brochure-links a:hover { background: var(--gold); color: #fff; }

/* Продаден апартамент в ценоразписа на Paradise Residence 2 */
.reserved-tag.sold { background: #f2d9d6; color: #a23a2e; }
