/* BURO · стили плавающих виджетов (избранное, сравнение, exit-intent,
   модалка заявки, кнопка WhatsApp).
   Их вставляет site.js на ВСЕХ страницах, но страницы проектов (p/, en/p/)
   самодостаточны и не подключают app.css — из-за этого панель «Избранные
   объекты» рендерилась голым блоком внизу страницы.
   ИСТОЧНИК: скопировано из app.css. Правите виджеты там — обновите и здесь. */

.wa-float{position:fixed; right:22px; bottom:22px; z-index:60; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(37,211,102,.42); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease;}
.wa-float:hover{transform:scale(1.07); box-shadow:0 14px 38px rgba(37,211,102,.55);}
.fav-btn{position:absolute; top:12px; right:12px; z-index:3; width:36px; height:36px; border-radius:50%; border:none; cursor:pointer; background:rgba(255,255,255,.86); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; color:var(--ink-mute); transition:transform .15s ease, background .15s ease, color .15s ease; box-shadow:0 2px 10px rgba(20,32,29,.14);}
.fav-btn svg{fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;}
.fav-btn:hover{transform:scale(1.12); color:var(--terra);}
.fav-btn.on{color:#fff; background:var(--terra);}
.fav-btn.on svg{fill:#fff; stroke:#fff;}
.fav-pill{position:fixed; left:20px; bottom:22px; z-index:60; align-items:center; gap:8px; padding:11px 18px; background:var(--ink); color:#fff; border:none; cursor:pointer; border-radius:var(--r-pill); font:inherit; font-size:14px; font-weight:600; box-shadow:0 10px 30px rgba(20,32,29,.28); transition:transform .2s ease;}
.fav-pill svg{fill:#fff;}
.fav-pill:hover{transform:translateY(-2px);}
.fav-tray{position:fixed; inset:0; z-index:90; background:rgba(20,32,29,.5); opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s;}
.fav-tray.open{opacity:1; visibility:visible;}
.fav-tray-panel{position:absolute; top:0; right:0; height:100%; width:min(420px,92vw); background:var(--canvas); padding:24px; overflow-y:auto; transform:translateX(100%); transition:transform .3s cubic-bezier(.22,.61,.36,1); display:flex; flex-direction:column; gap:14px;}
.fav-tray.open .fav-tray-panel{transform:none;}
.fav-tray-head{display:flex; justify-content:space-between; align-items:center;}
.fav-tray-head strong{font-family:var(--font-display); font-size:24px;}
.fav-tray-x{background:none; border:none; font-size:30px; line-height:1; cursor:pointer; color:var(--ink-mute);}
.fav-tray-list{flex:1; display:flex; flex-direction:column; gap:10px;}
.fav-empty{color:var(--ink-mute); font-size:14px; padding:24px 0;}
.fav-row{display:flex; align-items:center; gap:10px;}
.fav-row a{flex:1; display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none;}
.fav-row img{width:64px; height:48px; object-fit:cover; border-radius:10px; background:var(--canvas-2); flex:none;}
.fav-row b{display:block; font-size:14px; font-weight:600;}
.fav-row small{color:var(--ink-mute); font-size:12px;}
.fav-del{background:none; border:none; font-size:22px; cursor:pointer; color:var(--ink-mute); flex:none;}
.fav-tray-send{width:100%; text-align:center;}
.exit-modal{position:fixed; inset:0; z-index:100; background:rgba(20,32,29,.62); display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; transition:opacity .3s ease;}
.exit-modal.open{opacity:1;}
.exit-card{position:relative; background:var(--canvas); border-radius:var(--r-2xl); padding:40px 38px; max-width:460px; width:100%; transform:translateY(16px) scale(.98); transition:transform .3s cubic-bezier(.22,.61,.36,1); box-shadow:0 30px 80px rgba(20,32,29,.35);}
.exit-modal.open .exit-card{transform:none;}
.exit-card h3{font-family:var(--font-display); font-size:clamp(26px,3.4vw,34px); margin:0 0 12px; line-height:1.1;}
.exit-card p{color:var(--ink-soft); font-size:15px; margin:0 0 20px;}
.exit-form{display:flex; flex-direction:column; gap:10px;}
.exit-form input{padding:15px 18px; border:1.5px solid var(--line); border-radius:var(--r-pill); font:inherit; font-size:15px; outline:none; transition:border-color .18s;}
.exit-form input:focus{border-color:var(--terra);}
.exit-x{position:absolute; top:14px; right:16px; background:none; border:none; font-size:28px; line-height:1; cursor:pointer; color:var(--ink-mute);}
.exit-skip{background:none; border:none; color:var(--ink-mute); font-size:13px; text-decoration:underline; cursor:pointer; margin-top:14px;}
.exit-msg{display:none;}
.exit-msg.ok{display:block; color:var(--terra); font-weight:600; margin:14px 0 0;}
.lmod{position: fixed; inset: 0; z-index: 300; display: none;}
.lmod.open{display: block;}
.lmod-back{position: absolute; inset: 0; background: rgba(20,32,29,0.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);}
.lmod-card{position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(440px, calc(100% - 32px)); background: var(--canvas); border-radius: var(--r-2xl); padding: 30px 28px 26px; box-shadow: 0 40px 90px -30px rgba(0,0,0,0.5);}
.lmod-x{position: absolute; top: 12px; right: 16px; font-size: 28px; line-height: 1; color: var(--ink-mute); padding: 4px 8px;}
.lmod-x:hover{color: var(--ink);}
.lmod-proj{font-weight: 700; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--terra); margin: 0 0 6px;}
.lmod-title{font-family: var(--font-display); font-weight: 400; font-size: 30px; line-height: 1.05; margin: 0 0 6px;}
.lmod-sub{font-size: 14px; line-height: 1.5; color: var(--ink-soft); margin: 0 0 18px;}
.lmod-form{display: flex; flex-direction: column; gap: 12px;}
.lmod-form input{padding: 15px 18px; background: var(--canvas-2); border: 1.5px solid transparent; border-radius: var(--r-xl); font: inherit; font-size: 16px; color: var(--ink); outline: none; transition: border-color .18s, background .18s, box-shadow .18s;}
.lmod-form input::placeholder{color: rgba(20,32,29,0.42);}
.lmod-form input:focus{background: #fff; border-color: var(--terra); box-shadow: 0 0 0 3px var(--terra-soft);}
.lmod-done h3{font-family: var(--font-display); font-weight: 400; font-size: 26px; margin: 4px 0 8px;}
.lmod-done p{color: var(--ink-soft); font-size: 14.5px; margin: 0;}
.cmp-modal{position:fixed; inset:0; z-index:95; background:rgba(20,32,29,.62); display:flex; align-items:center; justify-content:center; padding:18px; opacity:0; transition:opacity .25s ease;}
.cmp-modal.open{opacity:1;}
.cmp-card{position:relative; background:var(--canvas); border-radius:var(--r-2xl); padding:28px; width:min(980px,100%); max-height:88vh; display:flex; flex-direction:column; box-shadow:0 30px 80px rgba(20,32,29,.35); transform:translateY(14px) scale(.985); transition:transform .25s cubic-bezier(.22,.61,.36,1);}
.cmp-modal.open .cmp-card{transform:none;}
.cmp-card h3{font-family:var(--font-display); font-size:clamp(24px,3vw,32px); margin:0 0 6px;}
.cmp-note{color:var(--ink-mute); font-size:13px; margin:0 0 6px;}
.cmp-x{position:absolute; top:12px; right:16px; background:none; border:none; font-size:28px; line-height:1; cursor:pointer; color:var(--ink-mute); z-index:2;}
.cmp-scroll{overflow:auto; margin-top:10px;}
.cmp-table{border-collapse:collapse; width:100%; min-width:560px;}
.cmp-table th{text-align:left; font-size:12.5px; color:var(--ink-mute); font-weight:600; padding:10px 12px 10px 0; white-space:nowrap; vertical-align:middle;}
.cmp-table td{padding:10px 12px; font-size:14px; vertical-align:middle; min-width:130px;}
.cmp-table tbody tr{border-top:1px solid var(--line);}
.cmp-table td.best{position:relative; background:rgba(193,102,66,.07); border-radius:10px;}
.cmp-table td.best::after{content:"✓"; color:var(--terra); font-weight:700; margin-left:6px;}
.cmp-head{display:block; color:inherit; text-decoration:none; width:150px;}
.cmp-head img{width:150px; height:100px; object-fit:cover; border-radius:12px; background:var(--canvas-2); display:block; margin-bottom:8px;}
.cmp-head b{font-size:13.5px; line-height:1.25; display:block;}

@media (max-width:768px){
  .wa-float{display:none;}
}
@media (max-width:768px){
  .fav-pill{bottom:calc(18px + env(safe-area-inset-bottom)); left:16px; padding:10px 15px; font-size:13px;}
}
@media (max-width:600px){
  .cmp-modal{padding:0; align-items:flex-end;}
  .cmp-card{border-radius:var(--r-2xl) var(--r-2xl) 0 0; max-height:92vh; padding:20px 16px;}
  .cmp-head{width:120px;}
  .cmp-head img{width:120px; height:80px;}
}

/* Подпись «Phuket Real Estate» в шапке скрывается на ≤860px, а вертикальный
   разделитель перед ней оставался — после вордмарка BURO торчала палочка.
   Дублируем правило и здесь: страницы проектов подключают widgets.css, а не app.css. */
@media(max-width:860px){ .shdr-div{display:none} }

/* «USD · RU» в шапке переносился на две строки на узких экранах */
.io-btn{white-space:nowrap}
