/*! KashtiSite v4.1 */
/* ============================================================
   Marine catalog theme — white/blue, glass, price-ribbon rows
   ============================================================ */
:root{
  --ks-css:'4.1';
  --ink:#0B2440;
  --ink-2:#3A5677;
  --sea:#0E7EC9;
  --sea-deep:#0A5C99;
  --sea-ink:#083D66;
  --ice:#F4F9FD;
  --white:#ffffff;
  --line:#DCE9F4;
  --reef1:#1FBF8F;
  --reef2:#0C9C7C;
  --buoy:#FFC53D;
  --glass:rgba(255,255,255,.66);
  --glass-brd:rgba(255,255,255,.55);
  --shadow-sm:0 6px 18px -8px rgba(10,60,110,.18);
  --shadow:0 18px 44px -18px rgba(10,60,110,.28);
  --radius:22px;
  --radius-sm:14px;
  --container:1180px;
  --header-h:60px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--ink);
  background:var(--ice);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--sea-deep)}
h1,h2,h3,h4{line-height:1.18;margin:0 0 .5em;font-weight:800;letter-spacing:-.02em}
.container{max-width:var(--container);margin:0 auto;padding:0 22px}

/* ------------------------------------------------ header */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(221,240,252,.55);
  border-bottom:1px solid rgba(255,255,255,.45);
  -webkit-backdrop-filter:blur(16px) saturate(1.35);
  backdrop-filter:blur(16px) saturate(1.35);
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.site-header.scrolled{
  background:rgba(221,240,252,.72);
  border-bottom-color:rgba(220,233,244,.9);
  box-shadow:var(--shadow-sm);
}
.site-header .container{
  min-height:60px;                      /* расте, ако логото е по-високо */
  display:flex;align-items:center;gap:14px;
  padding-top:7px;padding-bottom:7px;
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;margin-right:auto;min-width:0}
.brand img{
  height:34px;max-height:52px;width:auto;max-width:230px;object-fit:contain;
  display:block;
}
/* лого с бял фон сяда на бяла плочка — както във футъра */
.brand img.plate{
  background:#fff;padding:5px 9px;border-radius:10px;box-sizing:content-box;
  box-shadow:0 3px 10px -4px rgba(10,60,110,.3);
}
.brand.has-logo{gap:12px}
.brand strong{font-size:1.02rem;font-weight:800;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-nav{display:flex;align-items:center;gap:2px}
.main-nav a{
  white-space:nowrap;
  text-decoration:none;color:inherit;font-weight:700;font-size:.9rem;
  padding:.48em .85em;border-radius:999px;transition:background .25s;
}
.main-nav a:hover{background:rgba(14,126,201,.10)}
.main-nav a.active{background:rgba(14,126,201,.16);color:var(--sea-deep)}

/* sub navigation: pages with long titles */
.subnav{
  border-top:1px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.38);
}
.subnav .container{
  display:flex;align-items:center;gap:2px;
  min-height:44px;overflow-x:auto;scrollbar-width:none;
}
.subnav .container::-webkit-scrollbar{display:none}
.subnav a{
  flex:none;text-decoration:none;color:var(--ink-2);
  font-weight:700;font-size:.86rem;white-space:nowrap;
  padding:.42em .85em;border-radius:999px;transition:background .25s,color .25s;
}
.subnav a:hover{background:rgba(14,126,201,.10);color:var(--sea-deep)}
.subnav a.active{background:rgba(14,126,201,.15);color:var(--sea-deep)}
.main-nav .sub-in-nav,
.main-nav .nav-sep{display:none}

/* таблет: ако не всичко се побира, десният ръб избледнява и се появява стрелка */
.subnav .container.can-scroll{
  -webkit-mask-image:linear-gradient(90deg,#000 90%,transparent);
  mask-image:linear-gradient(90deg,#000 90%,transparent);
}
.subnav .container.at-end{-webkit-mask-image:none;mask-image:none}
body.has-subnav{--header-h:118px}

/* language pills (segmented) */
.lang-switch{
  display:flex;gap:3px;flex:none;
  background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.65);
  border-radius:999px;padding:3px;
}
.lang-switch a{
  font-weight:800;font-size:.72rem;letter-spacing:.04em;line-height:1;
  padding:.52em .62em;border-radius:999px;color:var(--ink-2);
  text-decoration:none;transition:background .2s,color .2s;
}
.lang-switch a:hover{color:var(--sea-deep);background:rgba(14,126,201,.10)}
.lang-switch a.active{background:var(--sea);color:#fff}

.nav-toggle{
  display:none;flex:none;background:none;border:0;cursor:pointer;padding:10px 8px;color:var(--ink);
}
.nav-toggle span{display:block;width:22px;height:2.5px;border-radius:2px;background:currentColor;margin:4.5px 0;transition:.3s}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ------------------------------------------------ hero */
.hero{
  position:relative;overflow:hidden;
  padding:calc(var(--header-h) + 58px) 0 72px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(720px 430px at 90% -5%, rgba(14,126,201,.13), transparent 62%),
    radial-gradient(640px 420px at -8% 105%, rgba(31,191,143,.11), transparent 62%);
}
.hero .container{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center}
.hero-badge{
  display:inline-flex;align-items:center;gap:9px;
  background:rgba(14,126,201,.08);border:1px solid rgba(14,126,201,.22);
  color:var(--sea-deep);font-weight:800;font-size:.8rem;letter-spacing:.05em;
  text-transform:uppercase;padding:.52em 1em;border-radius:999px;margin-bottom:18px;
}
.hero-badge::before{
  content:"";width:8px;height:8px;border-radius:50%;flex:none;
  background:var(--buoy);box-shadow:0 0 0 4px rgba(255,197,61,.28);
}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem);color:var(--ink);margin:0 0 14px}
.hero-sub{font-size:1.08rem;color:var(--ink-2);margin:0 0 26px;max-width:54ch}
.cta-box{
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:18px;
  padding:20px 22px;box-shadow:var(--shadow-sm);
}
.cta-box h3{margin:0 0 4px;font-size:1.02rem}
.cta-box p{margin:0 0 14px;font-size:.9rem;color:var(--ink-2)}
.hero-actions{display:flex;flex-wrap:wrap;gap:10px}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{
  background:rgba(255,255,255,.85);border:1px solid var(--line);
  border-radius:999px;padding:.5em 1.05em;font-weight:700;font-size:.88rem;color:var(--sea-ink);
}

/* featured house card */
.feat-card{
  display:block;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
  text-decoration:none;color:inherit;
  transition:transform .35s ease,box-shadow .35s ease;
}
.feat-card:hover{transform:translateY(-6px);box-shadow:0 28px 62px -24px rgba(10,60,110,.4)}
.feat-card:focus-visible{outline:3px solid var(--sea);outline-offset:3px}
.fc-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ice)}
.fc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.feat-card:hover .fc-img img{transform:scale(1.05)}
.fc-price{
  position:absolute;left:16px;bottom:16px;
  background:linear-gradient(135deg,var(--reef1),var(--reef2));color:#fff;
  font-weight:800;font-size:1.5rem;padding:.4em .9em;border-radius:14px;
  box-shadow:0 14px 28px -12px rgba(12,120,90,.6);font-variant-numeric:tabular-nums;
}
.fc-area{
  position:absolute;right:16px;bottom:16px;
  background:var(--buoy);color:var(--ink);
  font-weight:800;font-size:1.15rem;padding:.38em .75em;border-radius:12px;
  transform:rotate(2deg);box-shadow:0 10px 22px -10px rgba(120,80,0,.5);
  font-variant-numeric:tabular-nums;
}
.fc-body{padding:22px 24px}
.fc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.fc-head h3{margin:0;font-size:1.28rem}
.fc-tag{
  flex:none;background:rgba(31,191,143,.12);color:#0B8A66;
  border:1px solid rgba(31,191,143,.32);
  font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;
  padding:.45em .8em;border-radius:999px;
}
.fc-body > p{margin:0;color:var(--ink-2);font-size:.94rem}
.fc-specs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
  margin-top:16px;padding-top:16px;border-top:1px solid var(--line);text-align:center;
}
.fc-specs span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.fc-specs b{display:block;margin-top:3px;font-size:.98rem;color:var(--sea-deep)}

/* ------------------------------------------------ buttons */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  border-radius:999px;padding:.82em 1.6em;font-weight:800;font-size:.98rem;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:transform .2s,box-shadow .2s,background .2s;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--buoy);color:var(--ink);box-shadow:0 12px 26px -12px rgba(255,180,20,.8)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.08)}
.btn-sea{background:var(--sea);color:#fff;box-shadow:0 12px 26px -12px rgba(14,126,201,.7)}

/* ------------------------------------------------ sections */
.section{padding:72px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}
.section-head .eyebrow{color:var(--sea);margin-bottom:8px}
.section-head p{margin:6px 0 0;color:var(--ink-2)}

/* page head (inner pages) */
.page-hero{
  position:relative;
  padding:calc(var(--header-h) + 44px) 0 8px;
}
.page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(620px 360px at 92% -30%, rgba(14,126,201,.13), transparent 62%),
    radial-gradient(520px 320px at -8% 130%, rgba(31,191,143,.09), transparent 60%);
}
.page-hero .container{position:relative}
.page-hero h1{font-size:clamp(1.8rem,3.6vw,2.5rem);color:var(--ink);margin:0}
.breadcrumbs{font-size:.86rem;font-weight:600;margin-bottom:10px;color:var(--ink-2)}
.breadcrumbs a{color:var(--sea-deep);text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}

/* ============================================================
   SIGNATURE: house rows  (price ribbon | photo | floor plan)
   ============================================================ */
.house-rows{display:flex;flex-direction:column;gap:34px}
.house-row{
  display:grid;grid-template-columns:92px 1.28fr 1fr;
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;
  transition:transform .35s ease,box-shadow .35s ease;
  min-height:320px;
}
.house-row:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.house-row > *{min-width:0}   /* иначе снимката не се свива и баджът излиза извън картата */
.house-row:focus-visible{outline:3px solid var(--sea);outline-offset:3px}

.hr-price{
  background:linear-gradient(180deg,var(--reef1),var(--reef2));
  display:flex;align-items:center;justify-content:center;position:relative;
}
.hr-price span{
  writing-mode:vertical-rl;transform:rotate(180deg);
  color:#fff;font-weight:800;font-size:clamp(1.5rem,2.1vw,1.95rem);
  letter-spacing:.03em;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.hr-photo{position:relative;overflow:hidden;aspect-ratio:16/10;min-height:240px}
.hr-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.house-row:hover .hr-photo img{transform:scale(1.05)}
.hr-title{
  position:absolute;top:14px;left:14px;max-width:75%;
  background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.6);
  padding:.4em .85em;border-radius:999px;font-weight:800;font-size:.92rem;color:var(--ink);
  box-shadow:var(--shadow-sm);
}
.hr-area{
  position:absolute;right:16px;bottom:16px;
  background:var(--buoy);color:var(--ink);
  font-weight:800;font-size:1.25rem;padding:.32em .75em;border-radius:12px;
  transform:rotate(-3deg);box-shadow:0 10px 22px -10px rgba(120,80,0,.55);
  font-variant-numeric:tabular-nums;
}
.hr-plan{position:relative;background:#fff;border-left:1px dashed var(--line)}
.hr-plan img{
  position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);
  object-fit:contain;
}

/* ------------------------------------------------ banners strip */
.banners{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.banner{
  background:var(--glass);border:1px solid var(--glass-brd);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);
  transition:transform .3s;
}
.banner:hover{transform:translateY(-4px)}
.banner .b-icon{
  width:50px;height:50px;border-radius:14px;display:grid;place-items:center;margin-bottom:14px;
  background:linear-gradient(145deg,var(--sea),#2E96D6);color:#fff;
  box-shadow:0 10px 20px -10px rgba(14,126,201,.7);
}
.banner .b-icon svg{width:26px;height:26px}
.banner h3{font-size:1.04rem;margin:0 0 6px}
.banner p{margin:0;font-size:.92rem;color:var(--ink-2)}

/* ------------------------------------------------ partners */
.partners{border-top:1px solid var(--line);padding:44px 0 60px}
.partners .p-label{
  text-align:center;font-size:.78rem;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-2);margin-bottom:26px;
}
.partners .p-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:44px}
.partners img{
  height:44px;width:auto;opacity:.65;filter:grayscale(1);
  transition:.3s;
}
.partners img:hover{opacity:1;filter:none}

/* ------------------------------------------------ house detail */
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:34px;align-items:start}
.detail-grid > *{min-width:0}   /* иначе широка таблица разпъва цялата страница */
.detail-aside{
  position:sticky;top:calc(var(--header-h) + 20px);
  background:var(--glass);border:1px solid var(--glass-brd);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);
}
.detail-aside .price{
  font-size:2.1rem;font-weight:800;color:var(--sea-ink);letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;line-height:1.1;
}
.detail-aside .price small{display:block;font-size:.8rem;font-weight:600;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.area-tag{
  display:inline-block;background:var(--buoy);color:var(--ink);font-weight:800;
  padding:.3em .7em;border-radius:10px;transform:rotate(-2deg);margin:14px 0 4px;
  font-variant-numeric:tabular-nums;
}
.detail-aside .quick{list-style:none;margin:18px 0;padding:0;border-top:1px solid var(--line)}
.detail-aside .quick li{
  display:flex;justify-content:space-between;gap:14px;
  padding:.62em 0;border-bottom:1px solid var(--line);font-size:.94rem;
}
.detail-aside .quick b{font-weight:700}
.detail-aside .quick span{color:var(--ink-2)}
.detail-aside .btn{width:100%;justify-content:center;margin-top:10px}

.detail-main{min-width:0}
.detail-main > * + *{margin-top:44px}
.detail-block h2{font-size:1.45rem;padding-bottom:10px;border-bottom:2px solid var(--line)}
.plan-stack{display:flex;flex-direction:column;gap:18px}
.plan-card{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.plan-card img{margin:0 auto;max-height:640px;object-fit:contain}

/* specs table */
.specs{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}
.specs td{padding:.85em 1.2em;font-size:.97rem}
.specs tr:nth-child(odd){background:var(--ice)}
.specs td:first-child{font-weight:700;width:42%;color:var(--sea-ink)}

/* ------------------------------------------------ slider */
.slider{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#0a2540}
.slider .track{display:flex;transition:transform .55s cubic-bezier(.25,.8,.25,1);height:100%}
.slider .slide{min-width:100%;aspect-ratio:16/10;position:relative}
.slider .slide img{width:100%;height:100%;object-fit:cover}
.slider .s-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);
  background:rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  color:#fff;font-size:1.2rem;cursor:pointer;display:grid;place-items:center;
  transition:background .25s;
}
.slider .s-arrow:hover{background:rgba(255,255,255,.5)}
.slider .s-prev{left:14px}
.slider .s-next{right:14px}
.slider .s-dots{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:4}
.slider .s-dots button{
  width:9px;height:9px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.45);transition:.25s;padding:0;
}
.slider .s-dots button.active{background:#fff;transform:scale(1.25)}
.slider .s-count{
  position:absolute;top:14px;right:14px;z-index:4;
  background:rgba(8,61,102,.55);color:#fff;font-weight:700;font-size:.82rem;
  padding:.35em .8em;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}

/* ------------------------------------------------ lightbox */
.lb-zoom{cursor:zoom-in}
.lightbox{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:rgba(6,22,38,.93);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.lightbox.on{opacity:1;visibility:visible;pointer-events:auto}
.lightbox img{max-width:92vw;max-height:90vh;object-fit:contain;border-radius:10px;background:#fff;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.lightbox button{
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem;cursor:pointer;
  display:grid;place-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:background .25s;
}
.lightbox button:hover{background:rgba(255,255,255,.35)}
.lightbox .lb-close{position:fixed;top:18px;right:18px}
.lightbox .lb-prev{position:fixed;left:16px;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{position:fixed;right:16px;top:50%;transform:translateY(-50%)}
.lightbox .lb-count{
  position:fixed;bottom:18px;left:50%;transform:translateX(-50%);
  background:rgba(8,61,102,.6);color:#fff;font-weight:700;font-size:.85rem;
  padding:.4em .9em;border-radius:999px;
}
body.lb-open{overflow:hidden}

/* ------------------------------------------------ contact popup */
.cmodal{
  position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(8,36,64,.55);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.cmodal.on{opacity:1;visibility:visible;pointer-events:auto}
.cmodal .cm-box{
  width:100%;max-width:430px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:0 34px 70px -28px rgba(6,32,58,.6);
  padding:26px 26px 22px;transform:translateY(10px);transition:transform .22s ease;
}
.cmodal.on .cm-box{transform:none}
.cm-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.cm-head h3{margin:0;font-size:1.16rem}
.cm-x{
  width:34px;height:34px;flex:none;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink-2);font-size:1rem;cursor:pointer;display:grid;place-items:center;
  transition:background .2s;
}
.cm-x:hover{background:var(--ice)}
.cm-item{border-top:1px solid var(--line);padding:14px 0}
.cm-item .cm-label{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.cm-row{display:flex;align-items:center;gap:10px;margin-top:6px}
.cm-val{
  flex:1;min-width:0;font-weight:800;font-size:1.06rem;color:var(--sea-ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-variant-numeric:tabular-nums;
  -webkit-user-select:all;user-select:all;cursor:text;
}
.cm-copy{
  flex:none;display:inline-flex;align-items:center;gap:.4em;cursor:pointer;
  border:1px solid var(--line);background:var(--ice);color:var(--sea-deep);
  font-family:inherit;font-weight:800;font-size:.8rem;padding:.5em .9em;border-radius:999px;
  transition:background .2s,color .2s,border-color .2s;
}
.cm-copy:hover{background:rgba(14,126,201,.12)}
.cm-copy.done{background:var(--reef1);border-color:var(--reef1);color:#fff}
.cm-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.cm-actions .btn{width:100%;justify-content:center;text-align:center}
body.cm-open{overflow:hidden}
@media (max-width:420px){
  .cmodal .cm-box{padding:20px 18px 18px}
  .cm-val{font-size:.98rem}
}

/* ---- видео в текста: сяда вдясно, текстът го обгражда ---- */
.prose::after{content:"";display:block;clear:both}
.prose .video-embed{
  float:right;clear:right;
  width:min(46%, 520px);
  margin:.35em 0 1.3em 2em;
  box-shadow:var(--shadow);
}
.prose .video-embed + .video-embed{margin-top:1.2em}
/* цяла ширина по избор + картите остават както са */
.prose .video-embed.vid-full,
.prose .map-embed{
  float:none;width:100%;margin:1.5em 0;
}
@media (max-width:760px){
  .prose .video-embed{float:none;width:100%;margin:1.4em 0}
}

/* ------------------------------------------------ page gallery */
.gallery-wrap{margin-top:30px}
.gallery-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;
}
.g-item{
  position:relative;aspect-ratio:4/3;overflow:hidden;
  border-radius:var(--radius-sm);background:var(--ice);
  box-shadow:var(--shadow-sm);
}
.g-item img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.g-item:hover img{transform:scale(1.06)}
.slider.page-gallery{margin-top:6px}
@media (max-width:560px){
  .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
}

/* ------------------------------------------------ video embed */
.video-embed{position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ------------------------------------------------ prose (rich text) */
.prose{max-width:820px;min-width:0}
.prose img{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin:1.4em 0}
.prose h2{font-size:1.5rem;margin-top:1.6em}
.prose h3{font-size:1.2rem;margin-top:1.4em}
.prose p{margin:.9em 0}
.prose ul,.prose ol{padding-left:1.3em}
.prose blockquote{
  margin:1.4em 0;padding:1em 1.4em;border-left:4px solid var(--sea);
  background:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-2);
}
.prose .video-embed{margin:1.6em 0}

/* ------------------------------------------------ tables inside rich text */
.prose table{
  width:100%;border-collapse:collapse;margin:1.3em 0;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;
  box-shadow:var(--shadow-sm);font-size:.95rem;
}
.prose table th,
.prose table td{
  padding:.72em 1em;border-bottom:1px solid var(--line);
  text-align:left;vertical-align:top;
}
.prose table th{
  background:var(--sea-ink);color:#fff;font-weight:800;
  font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
}
.prose table tr:nth-child(even) td{background:var(--ice)}
.prose table tr:last-child td{border-bottom:0}
.prose table td:first-child{font-weight:700;color:var(--sea-ink)}
.prose table th:first-child{color:#fff}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.3em 0}
.table-scroll table{margin:0;min-width:520px}

/* ------------------------------------------------ footer */
.site-footer{position:relative;color:rgba(255,255,255,.82);margin-top:80px}
.site-footer .f-skyline{height:86px;overflow:hidden}
.site-footer .f-skyline svg{display:block;height:86px;width:100%;min-width:980px;position:relative;left:50%;transform:translateX(-50%)}
.site-footer .f-body{background:linear-gradient(180deg,#0A3D66,#07253E);padding:26px 0 0}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:44px;padding-bottom:44px}
.f-grid h4{color:#fff;font-size:.86rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:16px}
.f-brand img{height:40px;margin-bottom:16px;background:#fff;padding:8px 12px;border-radius:12px;box-sizing:content-box;box-shadow:0 6px 18px -8px rgba(0,0,0,.45)}
.f-brand p{font-size:.94rem;margin:0;max-width:34ch}
.f-links{list-style:none;margin:0;padding:0}
.f-links li{margin:.5em 0}
.f-links a{color:rgba(255,255,255,.82);text-decoration:none}
.f-links a:hover{color:#fff;text-decoration:underline}
.f-contact{list-style:none;margin:0;padding:0;font-size:.95rem}
.f-contact li{display:flex;gap:10px;margin:.6em 0;align-items:center}
.f-contact a{color:#fff;text-decoration:none;font-weight:700}
.f-social{display:flex;gap:12px;margin-top:18px}
.f-social a{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;
  transition:.25s;
}
.f-social a:hover{background:var(--sea)}
.f-social svg{width:19px;height:19px}
.f-bottom{
  border-top:1px solid rgba(255,255,255,.14);
  padding:18px 0;font-size:.84rem;color:rgba(255,255,255,.6);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
}

/* ------------------------------------------------ reveal on scroll */
.reveal{opacity:0;transform:translateY(22px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none}
  *{transition:none!important;scroll-behavior:auto}
}

/* ------------------------------------------------ responsive */
@media (max-width:980px){
  .banners{grid-template-columns:repeat(2,1fr)}
  .nav-toggle{display:block}
  .main-nav{
    display:none;position:absolute;top:calc(100% + 8px);left:12px;right:12px;
    flex-direction:column;align-items:stretch;gap:2px;
    background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);
    border:1px solid var(--glass-brd);border-radius:18px;
    padding:10px;box-shadow:var(--shadow);
    max-height:calc(100vh - var(--header-h) - 26px);
    max-height:calc(100dvh - var(--header-h) - 26px);  /* dvh = реално видимата височина */
    overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  .main-nav.open{display:flex}
  .main-nav a{color:var(--ink)!important;font-size:1rem;padding:.7em 1em}

  /* подменюто се сгъва в бургера — без хоризонтален скрол */
  .subnav{display:none}
  body.has-subnav{--header-h:60px}
  .main-nav .nav-sep{
    display:block;height:1px;margin:8px 10px 6px;
    background:var(--line);
  }
  .main-nav .sub-in-nav{
    display:block;font-size:.94rem;font-weight:600;
    color:var(--ink-2)!important;padding:.62em 1em;
  }
  .main-nav .sub-in-nav.active{background:rgba(14,126,201,.14);color:var(--sea-deep)!important}
  .site-header .container{gap:8px}

  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero{padding:calc(var(--header-h) + 44px) 0 60px}
  .page-hero{padding-top:calc(var(--header-h) + 30px)}
  .detail-grid{grid-template-columns:1fr}
  .detail-aside{position:static}
  .f-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){

  .house-row{grid-template-columns:1fr;min-height:0}
  .hr-price{padding:.7em 1em;justify-content:flex-start}
  .hr-price span{writing-mode:horizontal-tb;transform:none;font-size:1.4rem}
  .hr-photo{min-height:0;aspect-ratio:16/10}   /* без min-height, за да се свива на тесни телефони */
  .hr-plan{border-left:0;border-top:1px dashed var(--line);height:320px}

  .hero{padding:calc(var(--header-h) + 32px) 0 52px}
  .cta-box{padding:16px 16px}
  .fc-price{font-size:1.25rem}
  .fc-area{font-size:1rem}
  .section{padding:52px 0}
  .section-head{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .hr-area{right:10px;bottom:10px;font-size:1.05rem;padding:.28em .6em}
  .hr-title{top:10px;left:10px;font-size:.85rem;max-width:80%}
  .banners{grid-template-columns:1fr}
  .lang-switch a{padding:.5em .5em;font-size:.68rem}
  .fc-specs{gap:8px}
  .f-grid{grid-template-columns:1fr}
  .brand strong{display:none}
  .brand img{height:30px;max-width:150px}
  .subnav .container{min-height:40px}
  .subnav a{font-size:.8rem;padding:.4em .7em}
}


/* ============================================================
   PRINT / PDF  —  elegant one-piece house specification
   ============================================================ */
.print-head{display:none}

@media print{
  @page{ size:A4; margin:13mm 11mm; }

  html,body{
    background:#fff !important;color:#0B2440;font-size:10.5pt;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  .container{max-width:none;padding:0}
  .section{padding:0 !important}

  /* everything that is not about the house */
  .site-header,.site-footer,.no-print,.nav-toggle,.lang-switch,.main-nav,.subnav,
  .cmodal,.lightbox,.breadcrumbs,.hero-actions,.cta-box,.hero-chips,
  .detail-aside .btn,.s-arrow,.s-dots,.s-count,.video-embed,
  .section-head .btn,.btn{display:none !important}

  /* никакви остатъци от екранното поведение */
  html,body{overflow:visible !important;height:auto !important}
  body.cm-open,body.lb-open{overflow:visible !important}

  /* scroll-in animations must never hide content on paper */
  .reveal,.reveal.in{opacity:1 !important;transform:none !important}
  a{color:inherit !important;text-decoration:none}

  /* letterhead with the logo */
  .print-head{
    display:flex !important;align-items:center;gap:6mm;
    padding-bottom:4mm;margin-bottom:7mm;border-bottom:2.5pt solid #0E7EC9;
  }
  .print-head img{height:15mm;width:auto;flex:none}
  .print-head .ph-name strong{display:block;font-size:15pt;letter-spacing:-.01em;line-height:1.2}
  .print-head .ph-name span{font-size:9pt;color:#3A5677}
  .print-head .ph-contacts{
    margin-left:auto;text-align:right;font-size:8.5pt;color:#3A5677;line-height:1.6;
  }

  /* title */
  .page-hero{padding:0 0 5mm !important}
  .page-hero::before{display:none}
  .page-hero h1{font-size:21pt;color:#0B2440;margin:0}

  /* order: price block first, then the visual material */
  .detail-grid{display:flex !important;flex-direction:column;gap:6mm}
  .detail-grid{align-items:stretch}
  .detail-aside{
    order:-1;position:static !important;width:100%;
    background:#F4F9FD !important;border:.8pt solid #DCE9F4;box-shadow:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;
    padding:4mm 6mm;border-radius:3mm;break-inside:avoid;
    display:flex;flex-wrap:wrap;align-items:center;gap:2mm 8mm;
  }
  .detail-aside .price{flex:0 0 auto;font-size:19pt;line-height:1.1}
  .detail-aside .price small{font-size:8pt;letter-spacing:.1em}
  .area-tag{
    flex:0 0 auto;background:#FFC53D !important;color:#0B2440 !important;
    transform:none;margin:0;font-size:11pt;
  }
  .detail-aside .quick{
    flex:1 1 60%;margin:0;border-top:0;
    display:grid;grid-template-columns:1fr 1fr;gap:0 7mm;
  }
  .detail-aside .quick li{padding:1.5mm 0;border-bottom:.8pt solid #DCE9F4;font-size:9.5pt}

  .detail-main{display:block}
  .detail-main > * + *{margin-top:6mm}
  .detail-block h2{
    font-size:13pt;margin:0 0 3mm;padding-bottom:2mm;
    border-bottom:1.5pt solid #DCE9F4;break-after:avoid;page-break-after:avoid;
  }

  .gallery-grid{grid-template-columns:1fr 1fr;gap:4mm}
  .g-item{break-inside:avoid;box-shadow:none;border-radius:2mm}

  /* all gallery photos, not just the visible slide */
  .slider{box-shadow:none;border-radius:0;overflow:visible;background:none}
  .slider .track{
    display:grid !important;grid-template-columns:1fr 1fr;gap:4mm;
    transform:none !important;transition:none !important;
  }
  .slider .slide{min-width:0 !important;aspect-ratio:4/3;break-inside:avoid;border-radius:2mm;overflow:hidden}
  .slider .slide img{width:100%;height:100%;object-fit:cover}

  /* floor plans: whole plan, never cropped */
  .plan-stack{display:block}
  .plan-stack > * + *{margin-top:5mm}
  .plan-card{
    background:#fff;box-shadow:none;border:.8pt solid #DCE9F4;
    padding:4mm;border-radius:2mm;break-inside:avoid;
  }
  .plan-card img{max-height:150mm;width:auto;max-width:100%;margin:0 auto;object-fit:contain}

  /* tables */
  .specs,.prose table{
    box-shadow:none;border:.8pt solid #DCE9F4;font-size:10pt;
    break-inside:auto;                 /* дълга таблица може да продължи на следващата страница */
  }
  .specs tr,.prose table tr{break-inside:avoid;page-break-inside:avoid}
  .specs td,.prose table td,.prose table th{padding:2.2mm 3mm;border-bottom:.8pt solid #DCE9F4}
  .specs tr:nth-child(odd),.prose table tr:nth-child(even) td{background:#F4F9FD !important}
  .prose table th{background:#083D66 !important;color:#fff !important;font-size:8.5pt}
  .table-scroll{overflow:visible !important;max-height:none}
  .table-scroll table{min-width:0}
  .prose{max-width:none}
  .prose img{box-shadow:none;break-inside:avoid}

  /* houses listing prints as a clean catalogue too */
  .house-rows{gap:5mm}
  .house-row{
    break-inside:avoid;box-shadow:none;border:.8pt solid #DCE9F4;
    grid-template-columns:22mm 1.25fr 1fr;min-height:0;
  }
  .hr-price{background:#0C9C7C !important}
  .hr-price span{color:#fff !important;font-size:13pt}
  .hr-title{background:#fff !important;box-shadow:none;border:.5pt solid #DCE9F4}
  .hr-area{background:#FFC53D !important;color:#0B2440 !important;transform:none;font-size:11pt}
  .hr-plan{border-left:.8pt dashed #DCE9F4}
}
