
html:root{--c-brand: #6D28D9;--c-brand-hover: color-mix(in srgb, #6D28D9 82%, #000);--c-brand-soft: color-mix(in srgb, #6D28D9 10%, #fff);--c-primary: #5B21B6;--c-primary-hover: color-mix(in srgb, #5B21B6 82%, #000);--focus-ring: 0 0 0 3px color-mix(in srgb, #5B21B6 20%, transparent);--c-accent: #F59E0B;--c-accent-hover: color-mix(in srgb, #F59E0B 88%, #000);--c-success: #16A34A;--c-success-soft: color-mix(in srgb, #16A34A 12%, #fff);--c-danger: #DC2626;--c-danger-soft: color-mix(in srgb, #DC2626 8%, #fff);--c-text: #1E1B2E;--c-text-2: #6B6880;--c-bg-page: #F7F5FC;--c-bg-field: #EFEBF8;--c-bg-field-hover: color-mix(in srgb, #EFEBF8 94%, #000);--c-border: #E4DFF0;}

  #leftnav{
    
       display: none;     max-width: 320px;
  }
  .slidemenu_wrap{

      width: 100%;
      display: none;
      justify-content: center;
      right: 0px;
      position: absolute;
      z-index: 100;
      top: var(--top_height);
      opacity: 0;
      transition: opacity .4s
  }
  .slidemenu_div{
      display: flex;
      max-width: 440px;
      width: 100%;
      flex-wrap: wrap;
      flex-direction: column;
  }





  .slidemenu_gray{
      width: 100%;
      display: none;
      position: absolute;
      height: 100%;
      top: 0px;
      margin-top: var(--top_height);
      z-index: 1;
      left: 0px;
      background:#000000ba;
  }

@media (min-width: 880px) {
    
     #leftnav{
         display: block;
      }
}

  @media (min-width: 441px) {
      .beta_topright{
          position: relative!important;
      }
      .slidemenu_wrap{
          width: initial!important;
      }
      .slidemenu_body {
          border-top-right-radius: 15px!important;
          border-top-left-radius: 15px!important;

      }
      .slidemenu_gray{
          background: #00000021!important;
      }
      

       .btn_slidemenu{
          padding:15px!important; 
          
    }
  }

  .beta_topright{
      position: initial;
  }
  .beta_topright div a{
      color:#3b3c3d;
      font-size: 16px;
  }




  .slidemenu_body {
      padding: 10px;
      background: white;
      min-height: 300px;
      border-bottom-left-radius: 15px;
      border-bottom-right-radius: 15px;
      border-top-right-radius: 0px;
      border-top-left-radius: 0px;
      min-width: 320px;
      z-index: 2;
      opacity: 0;
      transform: translateY(-30px);
      pointer-events: none;
      transition: transform .4s,opacity .4s;
      box-shadow: rgba(0, 0, 0, 0.05) 0px 3px 10px 0px;
  }



  .slidemenu_active {
      opacity: 0;
      display: flex;
      animation: ani 0.3s forwards;
  }

  @keyframes ani {
      0% {
          opacity: 0;
      }
      100% {
          opacity: 1;
      }
  }

  .slidemenu_active > .slidemenu_div > .slidemenu_body{
      opacity: 1;
      pointer-events: initial;
      transform: translateY(0);
  }


  /* --- пункты меню (общие для левой колонки кабинета и выпадающего меню) --- */
  .slidemenu_head {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 8px 12px 14px;
  }
  .slidemenu_ava { flex: none; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: var(--c-bg-field); }
  .slidemenu_who { min-width: 0; }
  .slidemenu_name { font-size: var(--fs-md); font-weight: var(--fw-semibold); color: var(--c-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .slidemenu_id { font-size: 12px; color: var(--c-text-3); }

  .slidemenu_link {
      display: flex;
      align-items: center;
      gap: 12px;
      height: 44px;
      padding: 0 12px;
      border-radius: var(--r-md);
      color: var(--c-text);
      font-size: 15px;
      text-decoration: none;
      cursor: pointer;
      transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
  }
  .slidemenu_link:hover { background: var(--c-bg-hover); color: var(--c-text); }
  .slidemenu_link.is-active { background: var(--c-bg-field); font-weight: var(--fw-semibold); }
  .slidemenu_link.is-active .slidemenu_ico { color: var(--c-text); }
  .slidemenu_ico { flex: none; width: 20px; height: 20px; color: var(--c-text-2); }
  .slidemenu_text { flex: 1; min-width: 0; }
  .slidemenu_count {
      flex: none;
      min-width: 20px;
      height: 20px;
      padding: 0 6px;
      border-radius: var(--r-pill);
      background: var(--c-brand);
      color: #fff;
      font-size: 12px;
      font-weight: var(--fw-semibold);
      line-height: 20px;
      text-align: center;
      box-sizing: border-box;
  }
  .slidemenu_link_sub { height: 36px; padding-left: 44px; font-size: 13px; color: var(--c-text-2); }
  .slidemenu_link_sub .slidemenu_text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .slidemenu_hr { height: 1px; margin: 8px 12px; padding: 0; border: 0; background: var(--c-border); }

  .slidemenu_purse {
      display: block;
      margin: 8px 0 4px;
      padding: 12px 14px;
      border-radius: var(--r-md);
      background: var(--c-warning-soft);
      color: var(--c-warning-text);
      text-decoration: none;
  }
  .slidemenu_purse_sum { display: block; font-size: var(--fs-lg); font-weight: var(--fw-bold); }
  .slidemenu_purse_text { display: block; font-size: 12px; line-height: 1.35; }

  .btn_slidemenu{
        -webkit-tap-highlight-color: transparent;
      tap-highlight-color: transparent;
      padding: 10px;
      display: flex;
      align-items: center;
      cursor: pointer;
      border-radius: 15px
  }

  .btn_slidemenu_opened {
      background-color: #eee; 
  }
  .svg_btn_menu{
      display: block;
  }
  .svg_btn_close{
      display: none;
  }
   .btn_slidemenu_opened > .svg_btn_menu {
      display: none!important;
   }
    .btn_slidemenu_opened > .svg_btn_close {
        display: block!important;
   }
  

  







  .test{
      color:red
  }
  ._xhtml_test_next{
      color:green;
  }
  



/* ==========================================================================
   Выбор типа объявления (/addselect/) — addchoice/templ/addchoice.xhtml
   .ui-add > .ui-add-sec > .ui-add-h + .ui-add-grid > .ui-add-card
   ========================================================================== */
.ui-add { max-width: 880px; }
.ui-add-lead { margin: 0 0 var(--sp-6); color: var(--c-text-2); font-size: var(--fs-md); }
.ui-add-sec + .ui-add-sec { margin-top: var(--sp-6); }
.ui-add-h { margin: 0 0 var(--sp-3); font-size: var(--fs-lg); font-weight: var(--fw-semibold); color: var(--c-text); }
.ui-add-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--sp-3); }

.ui-add-card {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    min-height: 80px;
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    color: var(--c-text);
    text-decoration: none;
    box-sizing: border-box;
    transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ui-add-card:hover { border-color: var(--c-border-strong); background: var(--c-bg-hover); color: var(--c-text); }
.ui-add-card:active { transform: scale(.995); }

.ui-add-ico {
    flex: none;
    width: 48px;
    height: 48px;
    border-radius: var(--r-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-bg-field);
    color: var(--c-text);
}
.ui-add-ico svg { width: 24px; height: 24px; }
/* мягкие цвета разделов — те же, что в категориях на главной */
.ui-add-resume .ui-add-ico   { background: #fde8e7; color: #b42318; }
.ui-add-vacancy .ui-add-ico  { background: #fde8e7; color: #b42318; }
.ui-add-business .ui-add-ico { background: #e3f6e7; color: #1f7a33; }
.ui-add-rent .ui-add-ico     { background: #e3efff; color: #1d4f8c; }
.ui-add-sale .ui-add-ico     { background: #e3efff; color: #1d4f8c; }
.ui-add-various .ui-add-ico  { background: var(--c-bg-field); color: var(--c-text); }

.ui-add-body { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.ui-add-title { font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: 1.3; }
.ui-add-desc { font-size: var(--fs-sm); color: var(--c-text-2); line-height: 1.35; }
.ui-add-tag {
    align-self: flex-start;
    margin-top: 6px;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    background: var(--c-bg-field);
    color: var(--c-text-2);
    font-size: 12px;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
}
.ui-add-tag.is-free { background: var(--c-success-soft); color: var(--c-success-text); }
.ui-add-arrow { flex: none; width: 20px; height: 20px; color: var(--c-text-3); }

@media (max-width: 520px) {
    .ui-add-grid { grid-template-columns: 1fr; gap: var(--sp-2); }
    .ui-add-card { min-height: 72px; padding: var(--sp-3) var(--sp-4); gap: var(--sp-3); }
    .ui-add-ico { width: 44px; height: 44px; }
    .ui-add-sec + .ui-add-sec { margin-top: var(--sp-5); }
}


  
    .addreview_index_star_flex{
      display: flex;
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    justify-content: space-between;
  } 
  
  .addreview_index_photo_div{ 
    margin-top: 20px; color: gray;
    margin-bottom: 15px; 
  } 
  
  .addreview_index_star_div{
      width: 40px;
      height: 40px;
      
       animation: setStar .15s ease-in-out;
      background-color: transparent;
   background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='88' height='40'%3E%3Cdefs%3E%3Cpath id='a' d='M19.606 2.788a1 1 0 011.788 0l5.22 10.435a.5.5 0 00.372.27l11.537 1.74a1 1 0 01.553 1.701l-8.311 8.188a.5.5 0 00-.143.438l1.911 11.51a1 1 0 01-1.447 1.051L20.73 32.748a.5.5 0 00-.46 0L9.914 38.12a1 1 0 01-1.447-1.051l1.91-11.51a.5.5 0 00-.142-.438l-8.31-8.188a1 1 0 01.552-1.701l11.537-1.74a.5.5 0 00.372-.27l5.22-10.435z'/%3E%3C/defs%3E%3Cuse xlink:href='%23a' fill='%23fff' stroke='%232A3657' stroke-opacity='.3' stroke-width='2'/%3E%3Cuse xlink:href='%23a' x='44' fill='%23fc0'/%3E%3C/svg%3E");  -webkit-mask-image: none;
  } 
  
  
  .addreview_index_star_div_active{
       animation: setStar .15s ease-in-out;background-position-x: 44px;
  }
  
   .addreview_index_termometr_flex{
      display: flex;
        margin-top: 15px;
    margin-bottom: 15px; 
    align-items: flex-end;
   } 
      .addreview_index_termometr_svg circle{
    transition: stroke-dashoffset .8s;transform: rotate(-90deg);
    transform-origin: center;
   } 
   
   
     .addreview_index_termometr_text{
     margin-left: 10px;
    font-size: 14px;
   } 
  
@keyframes setStar{   
   0%, 100% {
    transform: scale(1);
}

50% {
    transform: scale(.75);
}

}



 





/* отклики уже просмотрены — серый бейджик */
.ui-chat-row.is-read .ebadge-round { background: var(--c-text-3, #9ca3af) !important; }


/* ==========================================================================
   Главная (general/templ/index.xhtml). Общие классы — из ui/templ.
   ========================================================================== */
.ui-home { max-width: 1200px; margin: 0 auto; padding-bottom: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-6); }

.ui-home-hero {
    display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-6);
    padding: var(--sp-8); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
}
.ui-home-hero-text { flex: 999 1 420px; min-width: 0; }
.ui-home-hero h1 { margin: 0 0 var(--sp-3); }
.ui-home-lead { margin: 0; color: var(--c-text-2); font-size: var(--fs-base); line-height: var(--lh-text); }
.ui-home-cta { flex: 1 1 240px; max-width: 320px; display: flex; flex-direction: column; gap: var(--sp-3); }

.ui-home-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.ui-home-section-head h2 { margin: 0; }

.ui-home-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--sp-4); }
.ui-home-cat {
    padding: var(--sp-5); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
    transition: box-shadow var(--dur) var(--ease);
}
.ui-home-cat:hover { box-shadow: var(--shadow-pop); }
.ui-home-cat-head { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); color: var(--c-text); font-size: var(--fs-lg); font-weight: var(--fw-semibold); line-height: 1.3; }
.ui-home-cat-head:hover { color: var(--c-brand); }
.ui-home-cat-ico { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: var(--r-md); background: var(--c-bg-field); }
.ui-home-cat-ico img { width: 26px; height: 26px; }
.ui-home-cat-list { margin: 0; padding: 0 0 0 56px; list-style: none; display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-home-cat-list a { color: var(--c-text-2); font-size: var(--fs-md); }
.ui-home-cat-list a:hover { color: var(--c-brand); }

.ui-home-about { padding: var(--sp-6); border-radius: var(--r-lg); background: var(--c-bg-field); color: var(--c-text-2); font-size: var(--fs-md); line-height: var(--lh-text); }
.ui-home-about h2 { color: var(--c-text); font-size: var(--fs-h3); }
.ui-home-about p { margin: 0 0 var(--sp-3); }
.ui-home-about p:last-child { margin-bottom: 0; }

@media (max-width: 639px) {
    .ui-home { gap: var(--sp-5); }
    .ui-home-hero { padding: var(--sp-5); gap: var(--sp-5); }
    .ui-home-cta { max-width: none; }
    .ui-home-cats { grid-template-columns: 1fr; gap: var(--sp-3); }
    .ui-home-cat { padding: var(--sp-4); }
    .ui-home-about { padding: var(--sp-5); }
}

/* ---------- ЗАГЛУШКИ главной ---------- */
.ui-home-search { display: flex; gap: var(--sp-2); margin-top: var(--sp-5); flex-wrap: wrap; }
.ui-home-search input, .ui-home-search select {
    height: var(--h-lg); box-sizing: border-box; padding: 0 var(--sp-4); border: 1px solid transparent; border-radius: var(--r-md);
    background: var(--c-bg-field); font: inherit; font-size: var(--fs-lg); color: var(--c-text);
}
.ui-home-search input { flex: 999 1 240px; min-width: 0; }
.ui-home-search select { flex: 1 1 160px; }
.ui-home-search input:focus, .ui-home-search select:focus { outline: none; background: var(--c-bg); border-color: var(--c-primary); box-shadow: var(--focus-ring); }
.ui-home-search .btn-primary { flex: 0 0 auto; width: auto; height: var(--h-lg); }

.ui-home-chips { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ui-home-chip { display: inline-flex; align-items: center; height: 36px; padding: 0 var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-pill); background: var(--c-bg); color: var(--c-text); font-size: var(--fs-md); }
.ui-home-chip:hover { border-color: var(--c-text-3); color: var(--c-text); }

.ui-home-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); }
.ui-home-stat { padding: var(--sp-5); border-radius: var(--r-lg); background: var(--c-bg); border: 1px solid var(--c-border); }
.ui-home-stat b { display: block; font-size: 28px; line-height: 1.2; }
.ui-home-stat span { color: var(--c-text-2); font-size: var(--fs-md); }

.ui-home-feed { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4); }
.ui-home-ad { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); color: var(--c-text); }
.ui-home-ad:hover { color: var(--c-text); box-shadow: var(--shadow-pop); }
.ui-home-ad-img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--c-bg-field); }
.ui-home-ad-body { display: flex; flex-direction: column; gap: var(--sp-1); padding: var(--sp-3) 14px 14px; font-size: var(--fs-sm); }
.ui-home-ad-price { font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.ui-home-ad-title { font-size: var(--fs-md); line-height: 1.35; }

.ui-home-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); }
.ui-home-promo { display: flex; flex-direction: column; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-6); border-radius: var(--r-lg); border: 1px solid var(--c-border); background: var(--c-bg); }
.ui-home-promo h3 { margin: 0; }
.ui-home-promo p { margin: 0; color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.5; }
.ui-home-promo-info { background: var(--c-info-soft); border-color: var(--c-info-border); }
.ui-home-apps { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.ui-home-apps a { display: inline-flex; align-items: center; height: 44px; padding: 0 var(--sp-4); border-radius: var(--r-md); background: var(--c-text); color: #fff; font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ui-home-apps a:hover { color: #fff; opacity: .9; }

@media (max-width: 1023px) { .ui-home-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) {
    .ui-home-search .btn-primary { flex: 1 1 100%; }
    .ui-home-stats { grid-template-columns: 1fr; gap: var(--sp-2); }
    .ui-home-stat { padding: var(--sp-4); display: flex; align-items: baseline; gap: var(--sp-2); }
    .ui-home-stat b { display: inline; font-size: 22px; }
    .ui-home-feed { display: flex; overflow-x: auto; margin: 0 -10px; padding: 0 10px 4px; }
    .ui-home-ad { flex: none; width: 160px; }
    .ui-home-two { grid-template-columns: 1fr; }
    .ui-home-promo { padding: var(--sp-5); }
}

/* ---------- Главная по схеме beboss: вводный блок с плитками, затем секция на каждый раздел ---------- */
.ui-bb-intro { display: flex; flex-direction: column; gap: var(--sp-5); }
.ui-bb-intro.has-img { padding: var(--sp-8); border-radius: var(--r-lg); }
.ui-bb-intro.has-img { position: relative; overflow: hidden; background-size: cover; background-position: center; }
.ui-bb-intro.has-img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.2)); }
.ui-bb-intro.has-img > * { position: relative; }
.ui-bb-intro.has-img h1, .ui-bb-intro.has-img .ui-bb-lead { color: #fff; }
.ui-bb-intro h1 { margin: 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.ui-bb-lead { margin: -8px 0 0; color: var(--c-text-2); font-size: var(--fs-lg); }
.ui-bb-intro .ui-sec-tile { background: var(--c-bg); }

.ui-bb-sec { display: flex; flex-direction: column; gap: var(--sp-5); padding: var(--sp-6); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); }
.ui-bb-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.ui-bb-head h2 { margin: 0; display: flex; align-items: center; gap: var(--sp-3); }
.ui-bb-head h2 .ui-sec-tile-ico { width: 44px; height: 44px; }
.ui-bb-head h2 small { color: var(--c-text-3); font-size: var(--fs-md); font-weight: var(--fw-regular); }
.ui-bb-body { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--sp-6); align-items: start; }
.ui-bb-sub { margin: 0 0 var(--sp-2); color: var(--c-text-3); font-size: var(--fs-sm); text-transform: uppercase; letter-spacing: .04em; font-weight: var(--fw-semibold); }

/* секции без промо: список на всю ширину */
.ui-bb-body-full { grid-template-columns: 1fr; }
.ui-bb-body-full .ui-sec-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .ui-bb-body-full .ui-sec-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ui-bb-body-full .ui-sec-list { grid-template-columns: 1fr; } }

/* «Показать ещё» без JS: <details> */
.ui-bb-more summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; margin-top: var(--sp-3); color: var(--c-brand); font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ui-bb-more summary::-webkit-details-marker { display: none; }
.ui-bb-more summary::after { content: "▾"; transition: transform var(--dur) var(--ease); }
.ui-bb-more[open] summary::after { transform: rotate(180deg); }
.ui-bb-more .ui-bb-less { display: none; }
.ui-bb-more[open] .ui-bb-less { display: inline; }
.ui-bb-more[open] .ui-bb-show { display: none; }
.ui-bb-more .ui-sec-list { margin-top: var(--sp-2); }

/* счётчики-ссылки (как «Инвестпроекты») */
.ui-bb-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.ui-bb-count { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-4); border-radius: var(--r-lg); background: var(--c-bg-field); color: var(--c-text) !important; text-decoration: none; }
.ui-bb-count:hover { background: var(--c-brand-soft); }
.ui-bb-count b { font-size: 26px; line-height: 1.2; color: var(--c-brand); font-variant-numeric: tabular-nums; }
.ui-bb-count span { font-size: var(--fs-md); font-weight: var(--fw-semibold); }

/* промо приложения справа */
.ui-bb-app { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-5); border-radius: var(--r-lg); background: var(--c-bg-field); }
.ui-bb-app p { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: 1.4; }
.ui-bb-app-row { display: flex; align-items: center; gap: var(--sp-3); }
.ui-bb-qr { flex: none; width: 88px; height: 88px; border-radius: var(--r-md); background:
    repeating-linear-gradient(0deg, var(--c-text) 0 6px, transparent 6px 12px),
    repeating-linear-gradient(90deg, var(--c-text) 0 6px, var(--c-bg) 6px 12px); opacity: .85; border: 6px solid var(--c-bg); }
.ui-bb-app small { color: var(--c-text-2); font-size: var(--fs-sm); }

.ui-bb-foot { display: flex; justify-content: flex-start; }

/* статьи-тизеры с иконкой (блок «О сайте») */
.ui-bb-info { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--sp-6); align-items: start; }
.ui-bb-teasers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }


/* плитки вводного блока (как «Бизнес-идеи» на beboss): 6 × 2, название, счётчик, иллюстрация снизу */
.ui-bb-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)) 200px; gap: var(--sp-3); }
.ui-bb-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 4px; min-height: 120px; padding: var(--sp-3) var(--sp-3) 0; border-radius: var(--r-lg); background: var(--c-bg-field); color: var(--c-text) !important; text-decoration: none; transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease); }
.ui-bb-card:hover { box-shadow: var(--shadow-card); transform: translateY(-2px); }
.ui-bb-card b { font-size: var(--fs-md); line-height: 1.25; }
.ui-bb-card small { color: var(--c-text-2); font-size: 12px; }
.ui-bb-card-img { display: block; width: 64%; height: auto; margin: auto 0 0 auto; aspect-ratio: 16 / 10; object-fit: contain; object-position: bottom right; filter: grayscale(1); opacity: .55; transition: filter var(--dur) var(--ease), opacity var(--dur) var(--ease); }
.ui-bb-card:hover .ui-bb-card-img { filter: none; opacity: 1; }
.ui-bb-promo { grid-column: 7; grid-row: 1 / span 2; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--sp-3); padding: var(--sp-3); border-radius: var(--r-lg); background: var(--c-brand-soft); text-align: center; }
.ui-bb-promo b { font-size: var(--fs-md); line-height: 1.3; }
.ui-bb-promo .ui-bb-qr { width: 64px; height: 64px; border-width: 4px; }
.ui-bb-promo .ui-home-apps { flex-direction: column; width: 100%; }
.ui-bb-promo .ui-home-apps a { height: 32px; justify-content: center; font-size: var(--fs-sm); }
.ui-bb-promo-row { display: flex; flex-direction: column; align-items: center; gap: var(--sp-1); text-align: center; }
.ui-bb-promo-row small { color: var(--c-text-2); font-size: 11px; line-height: 1.3; }
@media (max-width: 1200px) {
    .ui-bb-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .ui-bb-promo { grid-column: 1 / -1; grid-row: auto; flex-direction: row; flex-wrap: wrap; justify-content: space-between; text-align: left; }
}
@media (max-width: 900px) { .ui-bb-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ui-bb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ui-bb-card { min-height: 120px; } }
@media (max-width: 420px) { .ui-bb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* компактные карточки объявлений внутри секций */
.ui-bb-feed { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--sp-3); }
.ui-bb-feed .ui-home-ad-img { aspect-ratio: 1 / 1; }
.ui-bb-feed .ui-home-ad-body { gap: 2px; padding: var(--sp-2) 10px 10px; font-size: 12px; }
.ui-bb-feed .ui-home-ad-price { font-size: var(--fs-md); }
.ui-bb-feed .ui-home-ad-title { font-size: 13px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ui-bb-feed .ui-muted { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* города раздела */
.ui-bb-cities { padding-top: var(--sp-4); border-top: 1px solid var(--c-border); }
.ui-bb-cities .ui-sec-cities .citylink { height: 32px; padding: 0 var(--sp-3); font-size: var(--fs-sm); }

@media (max-width: 1000px) {
    .ui-bb-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ui-bb-body, .ui-bb-info { grid-template-columns: 1fr; }
    .ui-bb-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
    .ui-bb-feed { display: flex; }
    .ui-bb-feed .ui-home-ad { width: 130px; }
    .ui-bb-intro, .ui-bb-sec { padding: var(--sp-5) var(--sp-4); }
    .ui-bb-teasers { grid-template-columns: 1fr; }
}
.ui-bb-intro .ui-bb-search { margin: 0 0 var(--sp-4); }



   .journal_img{

          background: #e1e1e1;
          width: 100%;
             aspect-ratio: 16 / 9;
          float: left;
          background-size: cover!important;
          background-repeat: no-repeat!important;
          background-position: 50% 50%!important;
          margin-bottom: 20px;
             margin-top: 20px;
      }
   
     .bread   {
          list-style: none;
          padding-left: 0;
          margin-bottom: 21px;
      }
      .bread>li {
          display: inline-block;
          font-size: 14px;
      }

      .bread>li+li:before {
          padding: 0 5px;
          color: #ccc;
          content: "/\00a0";
      }




/* ==========================================================================
   Журнал (modules/journal): список статей .ui-jr-list > .ui-jr-card, статья .ui-jr-art
   ========================================================================== */
.ui-jr-head { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--sp-4); }
.ui-jr-h1 { margin: 0; font-size: 26px; line-height: 1.2; }
.ui-jr-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.ui-jr-card { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--sp-4); padding: var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); color: var(--c-text); text-decoration: none; transition: border-color var(--dur) var(--ease); }
.ui-jr-card:hover { border-color: var(--c-border-strong); color: var(--c-text); }
.ui-jr-card.no-img { grid-template-columns: 1fr; }
.ui-jr-cover { aspect-ratio: 4 / 3; border-radius: var(--r-md); background: var(--c-bg-field) center / cover no-repeat; }
.ui-jr-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ui-jr-title { margin: 0; font-size: 18px; line-height: 1.3; font-weight: var(--fw-semibold); }
.ui-jr-lead { margin: 0; color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ui-jr-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--c-text-3); font-size: var(--fs-sm); }
.ui-jr-meta a { color: var(--c-brand); text-decoration: none; }
.ui-jr-art { padding: var(--sp-6); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); }
.ui-jr-art h1 { margin: 0 0 var(--sp-2); font-size: 28px; line-height: 1.25; }
.ui-jr-art .ui-jr-meta { margin-bottom: var(--sp-5); }
.ui-jr-art-cover { width: 100%; max-height: 420px; object-fit: cover; border-radius: var(--r-md); margin-bottom: var(--sp-5); }
.ui-jr-text { font-size: 17px; line-height: 1.65; color: var(--c-text); overflow-wrap: anywhere; }
.ui-jr-text p { margin: 0 0 1em; }
.ui-jr-text h2, .ui-jr-text h3 { margin: 1.4em 0 .5em; line-height: 1.3; }
.ui-jr-text img, .ui-jr-img { max-width: 100%; height: auto; border-radius: var(--r-md); margin: .5em 0; }
.ui-jr-text a { color: var(--c-brand); }
.ui-jr-text blockquote { margin: 1em 0; padding: var(--sp-3) var(--sp-4); border-left: 3px solid var(--c-border-strong); background: var(--c-bg-field); border-radius: 0 var(--r-md) var(--r-md) 0; }
.ui-jr-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--sp-3); font-size: var(--fs-sm); color: var(--c-text-3); }
.ui-jr-crumbs a { color: var(--c-text-2); text-decoration: none; }
.ui-jr-more-title { margin: var(--sp-6) 0 var(--sp-3); font-size: 20px; }
@media (max-width: 640px) {
    .ui-jr-card { grid-template-columns: 1fr; }
    .ui-jr-art { padding: var(--sp-4); }
    .ui-jr-art h1 { font-size: 22px; }
    .ui-jr-text { font-size: 16px; }
}


/* Калькулятор платных услуг: modules/order/templ/new.html */
.ui-calc { max-width: 760px; }
.ui-calc-form { display: flex; flex-direction: column; gap: var(--sp-4); }
.ui-calc-h1 { margin: 0; font-size: var(--fs-h1); }
.ui-calc-offer { display: flex; flex-direction: column; gap: 2px; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--c-bg-field); font-size: var(--fs-md); }

.ui-calc-list { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-calc-item {
    position: relative; display: flex; align-items: center; gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
    cursor: pointer; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ui-calc-item:hover { border-color: var(--c-border-strong); }
.ui-calc-item.is-on { border-color: var(--c-brand); box-shadow: 0 0 0 1px var(--c-brand) inset; }
.ui-calc-item input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ui-calc-item input:focus-visible ~ .ui-calc-check { box-shadow: var(--focus-ring); }

.ui-calc-ico { flex: none; width: 40px; height: 40px; border-radius: var(--r-md); background: var(--c-bg-field) center / 22px no-repeat; }
.ui-calc-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ui-calc-text b { font-size: var(--fs-lg); }
.ui-calc-text small { color: var(--c-text-2); font-size: var(--fs-sm); line-height: 1.4; }
.ui-calc-price { flex: none; display: flex; flex-direction: column; align-items: flex-end; text-align: right; white-space: nowrap; }
.ui-calc-price b { font-size: var(--fs-lg); }
.ui-calc-price s { color: var(--c-text-3); font-size: var(--fs-sm); }
.ui-calc-free { color: var(--c-success-text); }
.ui-calc-check { flex: none; width: 22px; height: 22px; border: 2px solid var(--c-border-strong); border-radius: var(--r-xs); background: var(--c-bg) center / 14px no-repeat; }
.ui-calc-item.is-on .ui-calc-check {
    border-color: var(--c-brand); background-color: var(--c-brand);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
}

/* иконки услуг (серые, в плашке) */
.ui-calc-ico-stream    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M7 9h10M7 13h6'/%3E%3C/svg%3E"); }
.ui-calc-ico-social    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 4 3 11l6 2 2 6 3-4 5 4z'/%3E%3C/svg%3E"); }
.ui-calc-ico-up        { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20V5M5 12l7-7 7 7'/%3E%3C/svg%3E"); }
.ui-calc-ico-mark      { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2' stroke-dasharray='3 2'/%3E%3C/svg%3E"); }
.ui-calc-ico-contact   { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E"); }
.ui-calc-ico-vip       { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f0a71f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.8 5.7 6.2.9-4.5 4.4 1 6.2L12 17.3 6.5 20.2l1-6.2L3 9.6l6.2-.9z'/%3E%3C/svg%3E"); }
.ui-calc-ico-first     { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 17v5M9 3h6l-1 6 3 3v2H7v-2l3-3z'/%3E%3C/svg%3E"); }
.ui-calc-ico-exclusive { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12l3 6-9 12L3 9z'/%3E%3Cpath d='M3 9h18M9 3l3 6 3-6M12 9v12'/%3E%3C/svg%3E"); }

.ui-calc-total {
    position: sticky; bottom: 0; z-index: 2;
    display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3);
    padding: var(--sp-3) var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
    box-shadow: 0 -6px 20px rgba(0,0,0,.06);
}
.ui-calc-vat { font-size: var(--fs-sm); }
.ui-calc-itog { font-size: var(--fs-lg); }
.ui-calc-itog b { font-size: 22px; }
.ui-calc-sum { flex: 1; min-width: 0; }
.ui-calc-go { flex: none; width: auto !important; min-width: 200px; }
.ui-calc-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-2); }
.ui-calc-pack {
    display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; min-height: 72px;
    padding: var(--sp-3); border: 2px solid transparent; border-radius: var(--r-md); color: #fff; text-align: left; cursor: pointer;
    font: inherit; transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ui-calc-pack b { font-size: var(--fs-lg); line-height: 1.2; }
.ui-calc-pack small { font-size: var(--fs-sm); opacity: .9; }
.ui-calc-pack:hover { transform: translateY(-1px); box-shadow: var(--shadow-card); }
.ui-calc-pack.is-active { border-color: var(--c-text); box-shadow: 0 0 0 2px #fff inset; }
.ui-calc-pack.is-red    { background: var(--c-brand); }
.ui-calc-pack.is-orange { background: #e8661c; }
.ui-calc-pack.is-green  { background: var(--c-success); }
.ui-calc-pack.is-gray   { background: var(--c-text-3); }
.ui-calc-lead { margin: 0; color: var(--c-text-2); font-size: var(--fs-md); }
.ui-calc-lead b { color: var(--c-brand); }
.ui-calc-item.is-off { opacity: .5; cursor: not-allowed; }
.ui-calc-disc { color: var(--c-success-text); font-size: var(--fs-sm); }
.ui-calc-disc s { color: var(--c-text-3); }
.ui-calc-ico-mail { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23636f7d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.ui-calc-note { margin: 0; color: var(--c-text-3); font-size: var(--fs-sm); }

@media (max-width: 639px) {
    .ui-calc-packs { grid-template-columns: repeat(2, 1fr); }
    .ui-calc-item { padding: var(--sp-3); align-items: flex-start; }
    .ui-calc-ico { width: 36px; height: 36px; }
    .ui-calc-total { flex-direction: column; align-items: stretch; bottom: calc(60px + env(safe-area-inset-bottom)); }
    .ui-calc-go { width: 100% !important; }
}


/* Выбор способа оплаты — order/templ/methodpay.xhtml
   Карточки — общие .ui-add-* (addchoice.xhtml), здесь только логотип и метки */
.ui-pay-card { width: 100%; font: inherit; text-align: left; cursor: pointer; }
.ui-pay-card:disabled { cursor: default; opacity: .55; }
.ui-pay-card:disabled:hover { background: var(--c-bg); border-color: var(--c-border); }
.ui-pay-logo {
    flex: none;
    width: 64px;
    height: 48px;
    border-radius: var(--r-md);
    border: 1px solid var(--c-border);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.ui-pay-logo img { max-width: 52px; max-height: 32px; height: auto; display: block; }
.ui-pay-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ui-pay-tags .ui-add-tag { margin-top: 0; }
.ui-pay-note { margin-top: var(--sp-6); }
.ui-pay-logo { background: var(--c-bg-field); }
.ui-pay-sum {
    display: flex; flex-direction: column; gap: var(--sp-2); margin-bottom: var(--sp-5);
    padding: var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
}
.ui-pay-sum-offer { color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-pay-sum-offer b { display: block; color: var(--c-text); font-size: var(--fs-md); }
.ui-pay-sum ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-md); }
.ui-pay-sum li { display: flex; justify-content: space-between; gap: var(--sp-3); }
.ui-pay-sum li span:last-child { white-space: nowrap; color: var(--c-text-2); }
.ui-pay-sum-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--sp-2); border-top: 1px solid var(--c-border); }
.ui-pay-sum-total b { font-size: 22px; }
.ui-pay-sum-paid { color: var(--c-success-text); font-weight: var(--fw-semibold); }
.ui-pay-warn { padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--c-warning-soft); color: var(--c-warning-text); margin-bottom: var(--sp-4); }

 

   
    .review_card_main{
     border-bottom: 1px solid #e7e7e7;  margin-bottom: 25px;
  
  }
  .review_card_title{
          font-size: 24px;  font-weight: 700;    margin-bottom: 10px;
  }
  
  .review_card_body{
         font-size: 15px;
  
  }
  
  .review_card_star_flex_main{
      margin-top: 10px;
    margin-bottom: 3px; 
    width: 100%; 
  } 
  .review_card_star_flex{
     
    width: 90px;
      display: inline-flex;
   
    justify-content: flex-start;
  } 
   .review_card_star_yellow{
       margin-right: 0px;
          width: 15px;
      height: 15px; 
  background-image: url("data:image/svg+xml,%0A%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath fill='%23FFB020' d='M17.1 5.4L13.9 14l-9.2.3c-1.3.1-1.3 1.2-.6 1.8l7.2 5.7-2.5 8.8c-.4 1.1.7 1.6 1.5 1.1l7.6-5.1 7.6 5.1c.6.4 1.8.2 1.5-1.1l-2.5-8.8 7.2-5.7c.8-.7.8-1.7-.6-1.8l-9-.3L19 5.4c-.5-1.1-1.5-1.1-1.9 0z'/%3E%3C/svg%3E");
   }
  
    .review_card_star_gray{
        margin-right: 2px;
           width: 15px;
      height: 15px;  
  background-image: url("data:image/svg+xml,%0A%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath fill='%23e0e0e0' d='M17.1 5.4L13.9 14l-9.2.3c-1.3.1-1.3 1.2-.6 1.8l7.2 5.7-2.5 8.8c-.4 1.1.7 1.6 1.5 1.1l7.6-5.1 7.6 5.1c.6.4 1.8.2 1.5-1.1l-2.5-8.8 7.2-5.7c.8-.7.8-1.7-.6-1.8l-9-.3L19 5.4c-.5-1.1-1.5-1.1-1.9 0z'/%3E%3C/svg%3E");
    }
  
    
  
  
 



 
  .review_user_main{
            margin-bottom: 15px;
  }
  
  .review_user_flex{
         display: flex;    justify-content: flex-start;
    line-height: 25px;
    align-items: center; 
   
}
 
.review_user_star_mini_main{
  
}
.review_user_sred{
     font-size: 18px;
    font-weight: 700;
}
.review_user_count_text{
     font-size: 14px; 
color:gray;
}
.review_user_star_mini_flex{
    
        display: flex;
}
.review_user_star_mini_div{
     width: 24px;
      height: 24px; 
    background-image: url("data:image/svg+xml,%0A%3Csvg version='1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M6.7 1.9 5.4 5.4l-3.8.2c-.4 0-.4.3-.2.5l3 2.3-1 3.8c-.1.4.2.4.4.2L7 10.3l3.2 2.1c.3.2.5.1.4-.3l-1-3.7 3-2.3c.3-.3.2-.5-.1-.5l-3.9-.2-1.3-3.5c-.1-.3-.5-.3-.6 0z' fill='%23E1E1E1' fill-rule='evenodd'/%3E%3C/svg%3E%0A");
    
}
 


/* Тестовый поиск (modules/search_test). Каркас — классы кита. */
.ui-st { max-width: 960px; margin: 0 auto; padding-bottom: var(--sp-8); display: flex; flex-direction: column; gap: var(--sp-4); }
.ui-st-form { display: flex; gap: var(--sp-2); position: relative; }
.ui-st-form input { flex: 1; min-width: 0; height: var(--h-lg); padding: 0 var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-md); background: var(--c-bg); font: inherit; font-size: var(--fs-lg); }
.ui-st-form input:focus { outline: none; border-color: var(--c-primary); box-shadow: var(--focus-ring); }
.ui-st-sug { position: absolute; left: 0; right: 120px; top: calc(var(--h-lg) + 4px); z-index: 20; margin: 0; padding: 4px; list-style: none; background: var(--c-bg); border: 1px solid var(--c-border); border-radius: var(--r-md); box-shadow: var(--shadow-pop); }
.ui-st-sug:empty { display: none; }
.ui-st-sug li { display: flex; justify-content: space-between; gap: var(--sp-3); padding: 8px 12px; border-radius: var(--r-sm); cursor: pointer; font-size: var(--fs-md); }
.ui-st-sug li.is-sel, .ui-st-sug li:hover { background: var(--c-bg-field); }
.ui-st-sug small { color: var(--c-text-3); white-space: nowrap; }
.ui-st-meta { color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-st-tabs { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ui-st-tabs a { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--r-pill); color: var(--c-text) !important; font-size: var(--fs-md); text-decoration: none; }
.ui-st-tabs a b { font-weight: var(--fw-regular); color: var(--c-text-3); }
.ui-st-tabs a.is-active { background: var(--c-brand); border-color: var(--c-brand); color: #fff !important; }
.ui-st-tabs a.is-active b { color: rgba(255,255,255,.8); }
.ui-st-list { display: flex; flex-direction: column; }
.ui-st-item { display: flex; flex-direction: column; gap: 4px; padding: var(--sp-4) 0; border-bottom: 1px solid var(--c-border); }
.ui-st-item a.t { color: var(--c-text) !important; font-size: var(--fs-lg); font-weight: var(--fw-semibold); text-decoration: none; }
.ui-st-item a.t:hover { color: var(--c-brand) !important; }
.ui-st-item p { margin: 0; color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.5; }
.ui-st-item mark { background: var(--c-brand-soft); color: inherit; padding: 0 2px; border-radius: 3px; }
.ui-st-row { display: flex; flex-wrap: wrap; gap: var(--sp-2); align-items: center; font-size: var(--fs-sm); color: var(--c-text-3); }
.ui-st-price { color: var(--c-text); font-weight: var(--fw-bold); }
.ui-st-pager { display: flex; justify-content: space-between; align-items: center; }


/* карточка вакансии на ките: стили — в ui/templ/offercard.xhtml (общие с various/templ/card.xhtml) */
.ui-oc-crumbs { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 0 var(--sp-3); color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-oc-head .ui-oc-price { margin-top: var(--sp-2); }




/* Стартовая раздела «Работа» (vacancy::start). Каркас .ui-home-* — из modules/general/templ/index.xhtml,
   здесь только блоки, которых нет на главной. */
/* растяжка с картинкой и поиском; картинка — CONF image.hero_vacancy, иначе фон цвета бренда */
.ui-sec-banner {
    position: relative; overflow: hidden; display: flex; align-items: center;
    min-height: 380px; padding: var(--sp-8); border-radius: var(--r-lg);
    background-color: var(--c-brand);
    background-image:
        radial-gradient(circle at 85% 20%, rgba(255,255,255,.18) 0 120px, transparent 121px),
        radial-gradient(circle at 95% 90%, rgba(255,255,255,.12) 0 180px, transparent 181px),
        linear-gradient(135deg, var(--c-brand) 0%, var(--c-brand-hover) 100%);
    background-size: cover; background-position: center;
    color: #fff;
}
.ui-sec-banner.has-img::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.15) 100%); }
.ui-sec-banner-in { position: relative; display: flex; flex-direction: column; gap: var(--sp-4); width: 100%; max-width: 760px; }
.ui-sec-banner h1 { margin: 0; color: #fff; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; }
.ui-sec-banner-lead { margin: 0; max-width: 56ch; color: rgba(255,255,255,.88); font-size: var(--fs-lg); line-height: var(--lh-text); }
.ui-sec-banner-search {
    display: flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-2);
    padding: 6px 6px 6px var(--sp-4); border-radius: var(--r-lg); background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.ui-sec-banner-search svg { flex: none; width: 22px; height: 22px; color: var(--c-text-3); }
.ui-sec-banner-search input { flex: 1; min-width: 0; height: 52px; border: 0; outline: none; background: transparent; font: inherit; font-size: var(--fs-lg); color: var(--c-text); }
.ui-sec-banner-search .btn-accent { flex: none; height: 52px; padding: 0 var(--sp-6); }
.ui-sec-banner-chips { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); font-size: var(--fs-md); }
.ui-sec-banner-chips span { color: rgba(255,255,255,.75); margin-right: var(--sp-1); }
.ui-sec-banner-chips a { display: inline-flex; align-items: center; height: 32px; padding: 0 var(--sp-3); border-radius: var(--r-pill); background: rgba(255,255,255,.16); color: #fff !important; text-decoration: none; transition: background var(--dur) var(--ease); }
.ui-sec-banner-chips a:hover { background: rgba(255,255,255,.28); }
.ui-sec-banner-cta { display: flex; flex-wrap: wrap; gap: var(--sp-5); margin-top: var(--sp-1); }
.ui-sec-banner-cta a { color: #fff !important; font-weight: var(--fw-semibold); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.5); }
.ui-sec-banner-cta a:hover { text-decoration-color: #fff; }
@media (max-width: 640px) {
    .ui-sec-banner { min-height: 0; padding: var(--sp-6) var(--sp-4); }
    .ui-sec-banner-search { flex-wrap: wrap; padding: var(--sp-2); }
    .ui-sec-banner-search svg { display: none; }
    .ui-sec-banner-search input { flex-basis: 100%; height: 48px; padding: 0 var(--sp-2); }
    .ui-sec-banner-search .btn-accent { flex: 1 1 100%; }
}
.ui-sec-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.ui-sec-tile {
    display: flex; align-items: center; gap: var(--sp-3); min-height: 64px; padding: var(--sp-3) var(--sp-4);
    border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
    color: var(--c-text) !important; font-size: var(--fs-md); font-weight: var(--fw-semibold); line-height: 1.3; text-decoration: none;
    transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ui-sec-tile:hover { border-color: var(--c-border-strong); box-shadow: var(--shadow-card); }
.ui-sec-tile-ico { flex: none; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--r-md); background: var(--c-brand-soft); color: var(--c-brand); }
.ui-sec-tile-ico svg { width: 22px; height: 22px; }

.ui-sec-split { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--sp-4); align-items: start; }
.ui-sec-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--sp-6); margin: 0; padding: 0; list-style: none; }
.ui-sec-list li { border-bottom: 1px solid var(--c-border); }
.ui-sec-list a { display: flex; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-3) 0; color: var(--c-text) !important; font-size: var(--fs-md); text-decoration: none; }
.ui-sec-list a:hover { color: var(--c-brand) !important; }
.ui-sec-list b { flex: none; font-weight: var(--fw-regular); color: var(--c-text-3); font-variant-numeric: tabular-nums; }

.ui-sec-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.ui-sec-step { display: flex; flex-direction: column; gap: var(--sp-1); padding: var(--sp-5); border-radius: var(--r-lg); background: var(--c-bg); border: 1px solid var(--c-border); color: var(--c-text) !important; text-decoration: none; }
.ui-sec-step b { font-size: 24px; line-height: 1.2; color: var(--c-brand); font-variant-numeric: tabular-nums; }
.ui-sec-step span { font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ui-sec-step small { font-size: var(--fs-sm); color: var(--c-text-2); }

.ui-sec-articles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4); }
.ui-sec-article { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--r-lg); border: 1px solid var(--c-border); background: var(--c-bg); color: var(--c-text) !important; text-decoration: none; }
.ui-sec-article-img { aspect-ratio: 16 / 9; background: var(--c-bg-field); }
.ui-sec-article-body { display: flex; flex-direction: column; gap: var(--sp-1); padding: var(--sp-4); }
.ui-sec-article-body b { font-size: var(--fs-md); line-height: 1.35; }
.ui-sec-article-body small { font-size: var(--fs-sm); color: var(--c-text-2); }

.ui-sec-cities { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ui-sec-cities .citylink { display: inline-flex; align-items: center; height: 36px; padding: 0 var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-pill); background: var(--c-bg); color: var(--c-text) !important; font-size: var(--fs-md); text-decoration: none; }
.ui-sec-cities .citylink:hover { border-color: var(--c-text-3); }

@media (max-width: 1000px) {
    .ui-sec-tiles, .ui-sec-steps, .ui-sec-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ui-sec-split { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .ui-sec-list { grid-template-columns: 1fr; }
    .ui-sec-tile { min-height: 56px; padding: var(--sp-2) var(--sp-3); }
}


/* стили страницы объявления — в ui/templ/offercard.xhtml */





  
  .catalog_grid_flex{
      display: flex;
      gap: 15px;
     flex-wrap: wrap;
      transition: all .3s;
  }
  .catalog_right{
      flex:none;
      width: 100%;
      flex-grow: 1;
   
  }
  .catalog_grid{
    max-width: 880px;
   
         flex-grow: 1;
  }
  .beta_box{
      margin-left: 0px;
      margin-right: 0px;
      background: white;  
          padding: 15px 0px 15px 0px;
           border: 1px solid var(--box-border-gray); 
    border-radius: 15px;     
  }
  
  
  .snip_standart {
      display: flex;
      flex-wrap: wrap;
      gap:15px;
    width: 100%;

      transition: all .3s;
  }
  .snip_left{
      width: 100%;
      flex: none;
      flex-wrap: wrap;
      transition: all .3s;
      box-sizing: border-box;
          
  }
  .snip_owner_pc{
      flex-grow: 1;
      display: none;
  }
  .snip_owner_mob{
      flex-grow: 1;
      display: flex;
  }
  @media (min-width: 441px) {
      .catalog_grid_flex{

      }
   .catalog_grid{ 
  }
   .beta_box{
    
       padding: 15px;
    
  }
      .snip_standart{
          flex-wrap: nowrap;
        
      }
      .snip_left{
          width: 170px;
      }
      .snip_flex{
          gap: 15px!important;
      }
  
  .snip_right{ 
      
  }

      
  }
  @media (min-width: 640px) {
      .catalog_grid_flex{

      }
      .snip_standart{

      }
      .snip_left{
          width: 240px;
      }

      .snip_owner_pc{
          display:flex;
      }
      .snip_owner_mob{
          display:none;
      }
       
    .snip_btn_card{
     max-width: 200px!important; 
      
      flex-grow: 1;
     }

  }
  @media (min-width: 1024px) {
      .catalog_grid_flex{
          flex-wrap: nowrap;
      }
      .snip_standart{

      }
      .snip_left{
          width: 265px;
      }
      .catalog_right{
          max-width: 320px;
           
          
      }
  }



  .snip_div_img{
      position: relative;
  }
  .snip_right{
      overflow: hidden;
  }
  .snip_title{
      font-size: 18px;
      font-weight: 600;
      margin: 0px 0px 10px 0px;
  }
  .snip_desc{
      font-size: 14px;
      color: #373737;
      margin-top: 0px;
      transition: all .3s;
  }
  .snip_top{
      display: flex;
      flex-wrap: wrap;
      width:100%;
      gap:  0px;
        margin-bottom: 10px;
  }

  .snip_top  div:not(:last-child)::after {
      content: "•";
      margin: 0 10px;
  }   

  .snip_btn{
      max-width: 440px;
      border-radius: 10px;
      font-size: 16px;
      height: 50px;

      display: flex;
      justify-content: center;

      align-items: center;
      transition: background 0.3s;
      cursor: pointer;

     border: 1px solid var(--box-border-gray);
      color: #000000;
      transition: all .3s;
  }
 .snip_btn_card{
      max-width: 440px;
      
      flex-grow: 1;
  }
  
  .snip_right{
      display: flex;
    flex-grow: 1;
      flex-direction: column;
  
  }
  .snip_bottom{
      width: 100%;
      flex-grow: 1;
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      justify-content: flex-end;
      gap: 10px;
      transition: all .3s;
  }


  .snip_tag_div{
      display: flex
          ;
      align-items: center;
      gap: 10px;
      flex-wrap: nowrap;
      max-width: 100px;
      margin-left: 10px;
  
  }

  .snip_upd{
      margin-top: 14px;
      color: #373737;
      margin-bottom: 14px;
  }

  .snip_flex{
      display: flex;
    gap: 15px;
      flex-wrap: wrap;
  }

  




  .beta_search_flex{
      display: flex;
  }
  .beta_search_25{
      width: 25%;
      padding: 1px;
  }
  .beta_search_flex_dop{
      display: flex;
      width: 100%;
      justify-content: space-between;
      margin-top: 15px;
  }



  @media (max-width: 440px) {

      .beta_search_flex_dop{
          flex-wrap: wrap;
      }
      .beta_search_flex{
          flex-wrap: wrap;
      }
      .beta_search_25{
          width: 100%;

      }
  }

 
  
  
  

  .beta_search_btn{
      background-color: #B02409;
      border-color: #B02409;
      color: #FFFFFF;
      border: 0;
      width: 100%;
      display: flex;
      height: 42px;
      align-items: center;
      font-size: 16px;
      cursor:pointer;
  }
  .beta_search_select{


  }
  .form-control{
      background: #ffffff;
      border-color: #B02409;
      padding-left: 10px;
      border: 0;
      width: 100%;
      display: flex;
      height: 42px;
      align-items: center;
      font-size: 18px;
      -webkit-tap-highlight-color: transparent;
      tap-highlight-color: transparent;
  }


  .form-control, .single-line {
      border-radius: 5px;
      border: 1px solid #b02409;

  }
 

 

 


  .templ_owner_div{
      display:flex;    
      align-items: center;
      font-size: 16px;
      gap:10px;
  }
  




.ui-auth-tg {
    cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: var(--sp-2);
    height: var(--h-md); margin: 0 0 var(--sp-5); border-radius: var(--r-md);
    background: #e8f4fb; color: #229ed9 !important;
    font-size: var(--fs-md); font-weight: var(--fw-semibold); text-decoration: none;
}
.ui-auth-tg:hover { background: #d9edf8; }
.ui-auth-tg svg { flex: none; width: 20px; height: 20px; }

      
        .loader-div {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100%;
          
            
        }

        .loader {
            display: flex;
            gap: 15px;
        }

        .circle {
            width: 25px;
            height: 25px;
            background-color: #0f0;
            border-radius: 50%;
            animation: wave 1.2s infinite ease-in-out;
             
        }

        .circle:nth-child(1) {
            background-color: #c1c1c154;
            animation-delay: -0.4s;
        }
        .circle:nth-child(2) {
            background-color:#c1c1c196;
            animation-delay: -0.2s;
        }
        .circle:nth-child(3) {
            background-color: #c1c1c1d6;
            animation-delay: 0s;
        }

        @keyframes wave {
            0%, 100% {
                transform: scale(0.8);
            }
            50% {
                transform: scale(1.5);
            }
        }
    


/* Общий поиск (core/search): вкладки разделов, блоки «Все», подсказки */
.ui-srch-tabs { display: flex; gap: 6px; overflow-x: auto; padding: var(--sp-1) 0; scrollbar-width: none; }
.ui-srch-tabs::-webkit-scrollbar { display: none; }
.ui-srch-tabs a {
    flex: none; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 var(--sp-4);
    border: 1px solid var(--c-border); border-radius: var(--r-pill); background: var(--c-bg);
    color: var(--c-text) !important; font-size: var(--fs-md); text-decoration: none; white-space: nowrap;
}
.ui-srch-tabs a b { color: var(--c-text-2); font-weight: var(--fw-regular); }
.ui-srch-tabs a:hover { border-color: var(--c-text-3); }
.ui-srch-tabs a.is-on { background: var(--c-text); border-color: var(--c-text); color: #fff !important; }
.ui-srch-tabs a.is-on b { color: rgba(255,255,255,.7); }

.ui-srch-block { display: flex; flex-direction: column; gap: var(--sp-3); }
.ui-srch-block + .ui-srch-block { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top: 1px solid var(--c-border); }
.ui-srch-block-head h2, .ui-srch-in-head h2 { margin: 0; font-size: var(--fs-h2); }
.ui-srch-block-head h2 span { color: var(--c-text-3); font-weight: var(--fw-regular); }
.ui-srch-more { align-self: flex-start; color: var(--c-brand) !important; font-weight: var(--fw-semibold); text-decoration: none; }
.ui-srch-more:hover { text-decoration: underline; }
.ui-srch-in-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); flex-wrap: wrap; }
.ui-srch-hint { display: flex; flex-direction: column; gap: var(--sp-3); color: var(--c-text-2); }
.ui-srch-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); justify-content: center; }


/* ==========================================================================
   00_tokens.xhtml — дизайн-токены UI-кита sigma.
   ЕДИНСТВЕННОЕ место, где объявляется :root. Компоненты используют только
   эти переменные; новые цвета/размеры — сначала сюда.
   Старые имена (--main-color, --main-color-gray, --btn-border-radius ...)
   оставлены алиасами: на них ссылаются шаблоны модулей и vlibTemplate_sigma.
   ========================================================================== */
:root {
    /* ---------- Цвета ---------- */
    --c-brand: #B02409;            /* фирменный красный: ссылки, активное меню, бейджи */
    --c-brand-hover: #8f1d07;
    --c-brand-soft: #fbeeeb;

    --c-ink: #4d4d4d;              /* тёмно-серый: текущие основные кнопки, чекбоксы */
    --c-ink-hover: #333333;

    /* ПЕРЕКЛЮЧАТЕЛЬ основного цвета кнопок/чекбоксов/фокуса.
       Сейчас тёмно-серый (решение 12.10). Красный: var(--c-brand) / var(--c-brand-hover)
       и --focus-ring: 0 0 0 3px rgba(176, 36, 9, .18) */
    --c-primary: var(--c-ink);
    --c-primary-hover: var(--c-ink-hover);
    --focus-ring: 0 0 0 3px rgba(77, 77, 77, .18);

    --c-accent: #f0a71f;           /* жёлтая CTA главной */
    --c-accent-hover: #db9612;
    --c-success: #3aa53a;
    --c-success-hover: #2f8f2f;
    --c-success-soft: #e3f6e7;
    --c-success-text: #1f7a33;
    --c-warning-soft: #fff4d6;
    --c-warning-text: #8a6100;
    --c-danger: #d0302f;
    --c-danger-soft: #fdeeee;
    --c-danger-text: #b42318;
    --c-info-soft: #eef6ff;
    --c-info-border: #cfe3fb;

    --c-text: #1d1f23;
    --c-text-2: #636f7d;           /* подписи, плейсхолдеры, вторичный текст */
    --c-text-3: #9aa1ab;           /* неактивное, стрелки */

    --c-bg: #ffffff;               /* карточки, поле в фокусе */
    --c-bg-page: #f9f9f9;          /* фон под контентом */
    --c-bg-field: #f0f2f5;         /* поля, плашки, иконки */
    --c-bg-field-hover: #e8ebef;
    --c-bg-hover: #f5f5f5;         /* строки списков */
    --c-border: #ebebeb;
    --c-border-strong: #c9ced6;    /* рамка чекбокса */
    --c-disabled: #c9ccd2;
    --c-overlay: rgba(0, 0, 0, .55);

    /* ---------- Типографика ---------- */
    --font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --fs-xs: 12px;
    --fs-sm: 13px;
    --fs-md: 14px;
    --fs-lg: 16px;
    --fs-base: 14px;               /* основной текст: 14 → 16 с 441px */
    --fs-h1: 24px;
    --fs-h2: 19px;
    --fs-h3: 17px;
    --fw-regular: 400;
    --fw-semibold: 600;
    --fw-bold: 700;
    --lh-tight: 1.25;
    --lh-text: 1.6;

    /* ---------- Радиусы ---------- */
    --r-xs: 4px;                   /* чекбокс */
    --r-sm: 8px;                   /* мелкие плашки, превью */
    --r-md: 12px;                  /* поля, кнопки, меню */
    --r-lg: 16px;                  /* карточки, sblock, модалки */
    --r-pill: 999px;               /* бейджи, круглые кнопки */

    /* ---------- Высоты контролов ---------- */
    --h-sm: 40px;                  /* маленькая кнопка, иконка-кнопка */
    --h-md: 48px;                  /* обычная кнопка */
    --h-lg: 56px;                  /* поле ввода, большая кнопка (.h-bg) */

    /* ---------- Отступы (шаг 4px) ---------- */
    --sp-1: 4px;
    --sp-2: 8px;
    --sp-3: 12px;
    --sp-4: 16px;
    --sp-5: 20px;
    --sp-6: 24px;
    --sp-8: 32px;
    --gap: 16px;                   /* стандартный зазор сетки srow */

    /* ---------- Тени и анимация ---------- */
    --shadow-pop: 0 8px 28px rgba(0, 0, 0, .14);
    --shadow-card: 0 1px 2px rgba(0, 0, 0, .04);
    --dur: .2s;
    --ease: cubic-bezier(.4, 0, .2, 1);

    /* ---------- Каркас страницы (были в style.xhtml) ---------- */
    --top_wraper_width: initial;
    --top_wraper_max-width: 1200px;
    --top_logo_img_height: 30px;
    --top_height: 50px;
    --content-margin-top: 15px;

    /* ---------- Алиасы старых имён (не удалять, пока есть ссылки) ---------- */
    --main-color: var(--c-brand);
    --main-color-gray: var(--c-bg-field);
    --box-border-gray: var(--c-border);
    --btn-border-radius: var(--r-md);
    --main-size-standart: var(--fs-base);
    --main-size-h1: var(--fs-h1);
    --main-size-h2: var(--fs-h2);
    --input-color: var(--c-text);
    --input-bgColor: var(--c-bg);
    --input-borderColor: var(--c-border);
    --input-hover-borderColor: transparent;
    --input-hover-bgColor: var(--c-bg-field-hover);
    --input-hint-color: var(--c-text-2);
    --textarea-borderColor: transparent;
}

@media (min-width: 441px) {
    :root {
        --fs-base: 16px;
        --fs-h1: 28px;
        --fs-h2: 21px;
        --top_logo_img_height: 46px;
        --top_height: 70px;
        --content-margin-top: 25px;
    }
}

@media (min-width: 1200px) {
    :root {
        --top_wraper_width: 100%;
        --top_wraper_max-width: initial;
    }
}



/* ==========================================================================
   01_base.xhtml — база: шрифт, заголовки, общие утилиты кита
   и стили для bootstrap-классов, оставшихся в шаблонах (Bootstrap не подключён).
   ========================================================================== */

/* кнопки и поля по умолчанию не наследуют шрифт (Arial на входе, monospace в textarea) */
button, input, select, textarea, optgroup { font-family: inherit; }

/* ---------- Заголовки: один вес по всему сайту ---------- */
h1, .beta_text h1 {
    font-size: var(--fs-h1);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-tight);
    letter-spacing: -0.01em;
    margin: 0 0 var(--sp-5);
}
h2 {
    font-size: var(--fs-h2);
    font-weight: var(--fw-semibold);
    line-height: 1.3;
    margin: 0 0 var(--sp-4);
}
h3 {
    font-size: var(--fs-h3);
    font-weight: var(--fw-semibold);
    line-height: 1.3;
    margin: 0 0 var(--sp-4);
}

/* ---------- Карточка и секции страниц кабинета ---------- */
.ui-card {
    background: var(--c-bg);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: var(--sp-6);
    box-sizing: border-box;
}
@media (max-width: 440px) { .ui-card { padding: var(--sp-4); } }
.ui-card + .ui-card { margin-top: var(--sp-4); }

/* страница-форма в кабинете (добавить вакансию / резюме / объявление) */
.ui-form-page { max-width: 880px; margin: 0 auto; }

/* вложенная панель внутри карточки; .ui-panel-info — голубая (блок модератора) */
.ui-panel {
    margin-top: var(--sp-6);
    padding: var(--sp-5);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
}
.ui-panel-info { background: var(--c-info-soft); border-color: var(--c-info-border); }
.ui-panel-top { margin-top: 0; margin-bottom: var(--sp-6); }  /* панель в начале формы */
.ui-panel > :last-child { margin-bottom: 0; }
.ui-img { display: block; max-width: 100%; height: auto; border-radius: var(--r-md); margin-bottom: var(--sp-3); }

.ui-section-title {
    font-size: var(--fs-h3);
    font-weight: var(--fw-semibold);
    margin: var(--sp-8) 0 var(--sp-4);
}
.ui-section-title:first-child { margin-top: 0; }

.ui-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--sp-3);
    margin-top: var(--sp-8);
    padding-top: var(--sp-6);
    border-top: 1px solid var(--c-border);
}
.ui-form-actions > .btn-primary,
.ui-form-actions > .btn-primary-out { width: auto; min-width: 220px; }
@media (max-width: 440px) {
    .ui-form-actions { flex-direction: column-reverse; }
    .ui-form-actions > .btn-primary,
    .ui-form-actions > .btn-primary-out { width: 100%; }
}

/* подсказка под полем */
.ui-hint {
    display: flex;
    gap: var(--sp-2);
    align-items: flex-start;
    margin-top: var(--sp-2);
    font-size: var(--fs-sm);
    line-height: 18px;
    color: var(--c-text-2);
}
.ui-hint svg { flex: none; width: 16px; height: 16px; margin-top: 1px; }

/* ссылка-действие внутри формы («+ добавить ещё») */
.ui-link {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    padding: 0;
    border: 0;
    background: none;
    color: var(--c-brand);
    font: inherit;
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    cursor: pointer;
}
.ui-link:hover { color: var(--c-brand-hover); }

/* подпись над группой полей (не через рендерер) — как .sigma-label */
.ui-label { display: block; margin: 0 0 var(--sp-3); font-size: var(--fs-md); font-weight: var(--fw-semibold); color: var(--c-text); }

/* список чекбоксов сеткой: 1 колонка на телефоне, 2 — от 640px, 3 — от 1024px */
.ui-check-grid { display: grid; grid-template-columns: 1fr; column-gap: var(--sp-6); }
.ui-check-grid .beta-checkbox, .ui-check-grid .beta-checkbox:last-child { margin-bottom: var(--sp-2); }
@media (min-width: 640px) { .ui-check-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ui-check-grid { grid-template-columns: 1fr 1fr 1fr; } }

.ui-muted { color: var(--c-text-2); }
.ui-divider { height: 1px; background: var(--c-border); border: 0; margin: var(--sp-6) 0; }

/* ---------- Остатки Bootstrap в шаблонах ---------- */
.text-danger { color: var(--c-danger) !important; }
.text-muted { color: var(--c-text-2) !important; }

/* #name_error (сейчас выводит только photo): без Bootstrap он всегда виден,
   поэтому НЕ прячем — показываем как подсказку, красным — когда это ошибка */
.invalid-feedback {
    margin-top: var(--sp-2);
    font-size: var(--fs-sm);
    line-height: 18px;
    color: var(--c-text-2);
}
.invalid-feedback.is-error,
.sigma-valid + .invalid-feedback,
.sigma-valid .invalid-feedback { color: var(--c-danger); }

.spinner-border {
    display: inline-block;
    flex: none;
    width: 18px;
    height: 18px;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    vertical-align: -3px;
    animation: ui-spin .7s linear infinite;
}
.spinner-border-sm { width: 16px; height: 16px; }
@keyframes ui-spin { to { transform: rotate(360deg); } }

.d-flex { display: flex; }
.w-100 { width: 100%; }
.mb-1 { margin-bottom: var(--sp-1); }
.mb-2 { margin-bottom: var(--sp-2); }
.mb-3 { margin-bottom: var(--sp-4); }
.mt-3 { margin-top: var(--sp-4); }

/* ссылки-кнопки без href (href="javascript:..." не используем — мешает скриптам) */
a:not([href])[onclick] { cursor: pointer; }





  
  
  .maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-start}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}
   

 
 
  
.eforminfo{
    font-size: 13px;
    color: gray;
    background-color:var(--main-color-gray);
    padding: 5px 5px 5px 10px;
    border-radius: 5px;

    
}

.list-group-checkable {
  display: grid;
  gap: .5rem;
  border: 0;
}
.list-group-checkable .list-group-item {
  cursor: pointer;
  border-radius: .5rem;
}
.list-group-item-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.list-group-item-check:hover + .list-group-item {
  background-color: var(--bs-light);
}
.list-group-item-check:checked + .list-group-item {
  color: #fff;
  background-color: var(--bs-blue);
}
.list-group-item-check[disabled] + .list-group-item,
.list-group-item-check:disabled + .list-group-item {
  pointer-events: none;
  filter: none;
  opacity: .5;
}

.ephoto-list{
    display: flex;
    flex-wrap: wrap;
    
}


.ephoto-input-add{
 visibility: hidden;
    width: 1px;
    height: 1px;
    display: block;
    visibility: hidden;
}

.ephoto-item-placeholder {
            
    border: 1px dashed gray;
 margin-right: 10px;
    margin-bottom: 10px;
    width: 110px;
    height: 145px;
    position: relative;
    border-radius: 5px;
  }
       
.ephoto-item{
        margin-right: 10px;
          margin-bottom: 10px;
    width: 110px;
    height: 145px;
    
    position: relative;
 cursor: move;
    border-radius: 5px;
 
      
     background-size: contain;
    background-repeat: no-repeat!important;
    background-position: 50% 50%!important;
}
.ephoto-item-upload{
   //    border: 2px dashed var(--main-color);
}
.ephoto-item-uploaded{
    //   border: 2px solid #afafaf;
}
.ephoto-item-rotate{
    display:none;
     width: 28px;
    height: 28px;
font-size: 24px;
    line-height: 10px;
    padding-top: 2px; 
   padding-left: 2px; 
    position: absolute;
    top: -5px;
    left: -5px;
    color: #ffffff;
    border-radius: 50%;
    cursor:pointer;
}
.ephoto-item-action{
    cursor:pointer;
  width: 28px;
    height: 28px;
    font-size: 24px;
    line-height: 10px;
  
    position: absolute;
    bottom: -5px;
    right: -5px;
    color: #ffffff; 
    border-radius: 50%;
        display: flex;
    justify-content: center;
    align-items: center;
}
 
 .ico-add {
    width: 26px;
    height: 26px;
   background-image: url("data:image/svg+xml,%3Csvg   viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3C!-- Внешний круг --%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z' fill='white'/%3E%3C!-- Горизонтальная линия плюса --%3E%3Cpath d='M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z' fill='white' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
  }

  
   .ico-del {
    width: 26px;
    height: 26px;
     background-image: url("data:image/svg+xml,%3Csvg  viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z' fill='white'  /%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z' fill='white' /%3E%3C/svg%3E");

    background-repeat: no-repeat;
  }
 



/* ==========================================================================
   Компоненты для служебных страниц (админка). Только классы — без разметки.
   .ui-page-head   шапка страницы: заголовок + подзаголовок + действия справа
   .ui-badge       бейдж статуса: .is-ok .is-bad .is-warn .is-muted
   .ui-table       простая таблица (обёртка .ui-table-wrap даёт прокрутку на узком экране)
   .ui-kv          список «ключ — значение»
   .ui-code        textarea / pre с моноширинным текстом (конфиги, ключи)
   .ui-grid-2      две колонки от 1000px, иначе одна
   .ui-profile     шапка карточки: аватар + имя + мета
   ========================================================================== */

.ui-page-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); margin: 0 0 var(--sp-5); }
.ui-page-head h1 { margin: 0; font-size: var(--fs-h2); font-weight: var(--fw-semibold); line-height: var(--lh-tight); color: var(--c-text); }
.ui-page-sub { margin-top: var(--sp-1); font-size: var(--fs-sm); color: var(--c-text-2); }
.ui-page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }

.ui-badge,
.badge.bg-success, .badge.bg-danger {
    display: inline-flex; align-items: center; height: 22px; padding: 0 var(--sp-2);
    border-radius: var(--r-pill); font-size: var(--fs-xs); font-weight: var(--fw-bold); white-space: nowrap;
    background: var(--c-bg-field); color: var(--c-text-2);
}
.ui-badge.is-ok, .badge.bg-success { background: var(--c-success-soft); color: var(--c-success-text); }
.ui-badge.is-bad, .badge.bg-danger { background: var(--c-danger-soft); color: var(--c-danger-text); }
.ui-badge.is-warn { background: var(--c-warning-soft); color: var(--c-warning-text); }

.ui-table-wrap { width: 100%; overflow-x: auto; }
.ui-table { width: 100%; border-collapse: collapse; font-size: var(--fs-md); color: var(--c-text); }
.ui-table th { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--c-border); text-align: left; font-size: var(--fs-xs); font-weight: var(--fw-semibold); color: var(--c-text-3); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.ui-table td { padding: var(--sp-3); border-bottom: 1px solid var(--c-border); vertical-align: middle; }
.ui-table tr:last-child td { border-bottom: 0; }
.ui-table tbody tr:hover td { background: var(--c-bg-hover); }
.ui-table .is-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--fs-sm); word-break: break-all; }
.ui-table .is-muted { color: var(--c-text-3); }
.ui-table-empty { padding: var(--sp-6) var(--sp-3); text-align: center; color: var(--c-text-2); }

.ui-kv { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--sp-2) var(--sp-5); margin: 0; font-size: var(--fs-md); }
.ui-kv dt { color: var(--c-text-2); }
.ui-kv dd { margin: 0; color: var(--c-text); word-break: break-word; }

.ui-code {
    display: block; box-sizing: border-box; width: 100%; margin: 0; padding: var(--sp-3) var(--sp-4);
    border: 1px solid transparent; border-radius: var(--r-md); background: var(--c-bg-field);
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; line-height: 18px;
    color: var(--c-text); white-space: pre; overflow: auto; outline: none; resize: vertical;
}
textarea.ui-code { min-height: 420px; }
textarea.ui-code:focus { background: var(--c-bg); border-color: var(--c-primary); box-shadow: var(--focus-ring); }
pre.ui-code { max-height: 70vh; }

.ui-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--sp-4); }
@media (min-width: 1000px) { .ui-grid-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.ui-grid-2.is-side { }
@media (min-width: 1000px) { .ui-grid-2.is-side { grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); } }

.ui-profile { display: flex; align-items: center; gap: var(--sp-4); }
.ui-profile-ava { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--c-bg-field) center / cover no-repeat; }
.ui-profile-name { margin: 0; font-size: var(--fs-h3); font-weight: var(--fw-semibold); color: var(--c-text); }
.ui-profile-meta { margin-top: 2px; font-size: var(--fs-sm); color: var(--c-text-2); }

.ui-field-label { display: block; margin: 0 0 var(--sp-2); font-size: var(--fs-md); font-weight: var(--fw-semibold); color: var(--c-text); }


.aitem_block{
   display: none ;
    gap: 10px;
    overflow: auto;  
    padding-bottom: 20px;
  }
  .aitem_img{
    background-size: cover;
    width: 100%;
    aspect-ratio: 1 / 0.8;
    height: 128px;
    object-fit: cover;
    max-height: 100%;
    max-width: 100%;
    transition: 0.2s;
        background: #e7e7e7;
    overflow: hidden;
    background-position: center center;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px; 
    
  }
  
  .aitem_imgv{
         aspect-ratio: 4 / 3!important;
    height: initial!important;
      width: 240px!important;
  }
  
    .aitem_divv{
     
      width: 240px;
 
    border: none;
    border-radius: 15px;
    background: white;
    line-height: 16px;
    font-size: 13px;
        border: 1px solid #dbdbdb;
}
  
  .aitem_div{
     
        min-width: 158px;
 
    border: none;
    border-radius: 15px;
    background: white;
    line-height: 16px;
    font-size: 13px;
        border: 1px solid #dbdbdb;
}
.aitem_a{
      
    white-space: normal;
    font-size: 12px;
    display: block;
    clear: both;
    font-weight: 500;
    color: #555;
    height: 35px;
    width: 100%;
    overflow: hidden;
    word-break: break-word;
    text-overflow: ellipsis;
}
.aitem_text_div{
padding: 14px 10px 8px 10px;
}
.aitem_city{
    height: 25px;
    white-space: nowrap;
    max-width: 100%; 
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 600;
    color: #000;
        font-size: 14px;
}


/* ==========================================================================
   Вход на сайт (auth/templ/*) — карточка по центру
   .ui-auth > .ui-auth-title / -lead / -field / .ui-auth-methods > .ui-auth-method / .ui-auth-foot
   ========================================================================== */
.ui-auth {
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    margin: var(--sp-8) auto;
    padding: var(--sp-8) var(--sp-6) var(--sp-6);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
}
.ui-auth-mark {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--c-bg-field);
    color: var(--c-text);
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
}
.ui-auth-mark svg { width: 28px; height: 28px; }
.ui-auth-title { margin: 0; font-size: var(--fs-h2, 24px); font-weight: var(--fw-semibold); line-height: 1.25; text-align: center; }
.ui-auth-lead { margin: calc(-1 * var(--sp-2)) 0 0; color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.45; text-align: center; }
.ui-auth-lead b { color: var(--c-text); font-weight: var(--fw-semibold); white-space: nowrap; }
.ui-auth-field { display: flex; flex-direction: column; gap: 6px; }
.ui-auth-label { font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--c-text); }
.ui-auth .sigma-pin { text-align: center; letter-spacing: .5em; }
.ui-auth .sigma-form-error { margin: 0; }
.ui-auth-accept { font-size: var(--fs-sm); }
.ui-auth > .btn-primary { width: 100%; }

.ui-auth-user {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-3);
    border-radius: var(--r-md);
    background: var(--c-bg-field);
}
.ui-auth-ava { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: var(--c-bg); }
.ui-auth-user-name { font-weight: var(--fw-semibold); font-size: var(--fs-md); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ui-auth-methods { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-auth-method {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    width: 100%;
    min-height: 64px;
    padding: var(--sp-3) var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-bg);
    color: var(--c-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.ui-auth-method:hover { background: var(--c-bg-hover); border-color: var(--c-border-strong); }
.ui-auth-method-ico {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: var(--r-sm);
    background: var(--c-bg-field);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ui-auth-method-ico svg { width: 20px; height: 20px; }
.ui-auth-method-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ui-auth-method-title { font-weight: var(--fw-semibold); font-size: var(--fs-md); }
.ui-auth-method-sub { color: var(--c-text-2); font-size: var(--fs-sm); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-auth-method .spinner-border { flex: none; }
.ui-auth-arrow { flex: none; width: 18px; height: 18px; color: var(--c-text-3); }

.ui-auth-foot {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sp-2);
    margin-top: var(--sp-2);
    padding-top: var(--sp-4);
    border-top: 1px solid var(--c-border);
    text-align: center;
}
.ui-auth-hint { margin: 0; color: var(--c-text-2); font-size: var(--fs-sm); line-height: 1.45; }
.ui-auth-link {
    padding: 4px 8px;
    border: 0;
    background: none;
    color: var(--c-text);
    font: inherit;
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: var(--c-border-strong);
    cursor: pointer;
}
.ui-auth-link:hover { text-decoration-color: currentColor; }
.ui-auth-sec { display: none; }

@media (max-width: 520px) {
    .ui-auth { margin: var(--sp-4) auto; padding: var(--sp-6) var(--sp-4) var(--sp-4); border: 0; }
}



 .ui-avas-div{ 
   display:flex;
   margin-left: 15px;  
 }
 .ui-avas{ 
    margin-left: -15px;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: 50% 50% !important;
    border-radius: 50%;
    border: 2px solid white;
    width: 40px;
    height: 40px; 
 }
 
  
  .ava38 {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: 50% 50% !important;
    border-radius: 50%;
    width: 38px;
    height: 38px;
}
 
 

/* ==========================================================================
   Совместимость со старой bootstrap-разметкой (bootstrap отключён).
   Старые окна .modal / .offcanvas и вызовы $().modal(), $().toast(),
   new bootstrap.Modal/Offcanvas работают через этот файл в стиле кита.
   Когда старые шаблоны переедут на openOverlay/uiConfirm — файл можно удалить.
   ========================================================================== */
.modal, .offcanvas { display: none; }
.modal.is-open, .offcanvas.is-open {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 10050;
    align-items: center;
    justify-content: center;
    padding: var(--sp-4);
    background: var(--c-overlay, rgba(0, 0, 0, .5));
    overflow-y: auto;
}
.offcanvas.is-open { align-items: flex-end; padding: 0; }
.modal-dialog { width: 100%; max-width: 520px; margin: auto; }
.modal-dialog.modal-lg, .modal-lg .modal-dialog { max-width: 800px; }
.modal-dialog.modal-sm, .modal-sm .modal-dialog { max-width: 380px; }
.modal-content, .offcanvas.is-open > .offcanvas-inner {
    position: relative;
    width: 100%;
    border-radius: var(--r-lg);
    background: var(--c-bg);
    box-shadow: var(--shadow-pop);
    overflow: hidden;
}
.modal-header, .offcanvas-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-3);
    padding: var(--sp-4) var(--sp-5);
    border-bottom: 1px solid var(--c-border);
}
.modal-title, .offcanvas-title { margin: 0; font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
.modal-body, .offcanvas-body { padding: var(--sp-5); }
.modal-footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--sp-2);
    padding: var(--sp-4) var(--sp-5);
    border-top: 1px solid var(--c-border);
}
.btn-close {
    flex: none;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    background: var(--c-bg-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1f23' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6 6 18'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.btn-close:hover { background-color: var(--c-bg-hover); }
body.ui-modal-lock { overflow: hidden; }
@media (max-width: 520px) {
    .modal.is-open { align-items: flex-end; padding: 0; }
    .modal.is-open .modal-dialog { max-width: none; }
    .modal.is-open .modal-content { border-radius: var(--r-lg) var(--r-lg) 0 0; }
}


/* ==========================================================================
   Кнопки. Базовый класс не нужен: каждый вариант самодостаточен.
     .btn-primary      основная (цвет = --c-primary)
     .btn-primary-out  вторичная, серая плашка (алиас .btn-secondary)
     .btn-brand        фирменная красная
     .btn-accent       жёлтая CTA
     .btn-success / .btn-danger (контурная) / .btn-danger-fill (сплошная) / .btn-outline-primary (.btn-outline-secondary)
   Размеры: по умолчанию --h-md; .h-bg = --h-lg; .btn-sm = --h-sm.
   Ширина 100% по умолчанию (так сверстаны формы); .btn-auto — по содержимому.
   Состояния: :disabled, .btn-off; спиннер — <span class="spinner-border">.
   ========================================================================== */

.btn-primary, .btn-primary-out, .btn-secondary, .btn-brand, .btn-accent,
.btn-success, .btn-danger, .btn-danger-fill, .btn-outline-primary, .btn-outline-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    width: 100%;
    min-width: 0;
    height: var(--h-md);
    padding: 0 var(--sp-5);
    box-sizing: border-box;

    font-family: inherit;
    font-size: 15px;
    font-weight: var(--fw-semibold);
    line-height: 1.2;
    text-align: center;
    text-decoration: none;

    border: 0;
    border-radius: var(--r-md);
    cursor: pointer;
    user-select: none;
    transition: background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);
    -webkit-tap-highlight-color: transparent;
}

.btn-primary { background: var(--c-primary); color: #fff !important; }
.btn-primary:hover { background: var(--c-primary-hover); }

.btn-primary-out, .btn-secondary { background: var(--c-bg-field); color: var(--c-text) !important; }
.btn-primary-out:hover, .btn-secondary:hover { background: var(--c-bg-field-hover); }

.btn-brand { background: var(--c-brand); color: #fff !important; }
.btn-brand:hover { background: var(--c-brand-hover); }

.btn-accent { background: var(--c-accent); color: #fff !important; }
.btn-accent:hover { background: var(--c-accent-hover); }

.btn-success { background: var(--c-success); color: #fff !important; }
.btn-success:hover { background: var(--c-success-hover); }

.btn-danger { background: var(--c-bg); color: var(--c-danger) !important; box-shadow: inset 0 0 0 1px currentColor; }
.btn-danger:hover { background: var(--c-danger-soft); }

/* сплошная красная — подтверждение удаления */
.btn-danger-fill { background: var(--c-danger); color: #fff !important; }
.btn-danger-fill:hover { background: var(--c-danger-text); }

.btn-outline-primary, .btn-outline-secondary { background: var(--c-bg); color: var(--c-text) !important; box-shadow: inset 0 0 0 1px var(--c-border-strong); }
.btn-outline-primary:hover, .btn-outline-secondary:hover { background: var(--c-bg-hover); }

.btn-primary:focus-visible, .btn-primary-out:focus-visible, .btn-secondary:focus-visible,
.btn-brand:focus-visible, .btn-accent:focus-visible, .btn-success:focus-visible,
.btn-danger:focus-visible, .btn-danger-fill:focus-visible, .btn-outline-primary:focus-visible, .btn-outline-secondary:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* ---------- Размеры ---------- */
.h-bg { height: var(--h-lg) !important; font-size: var(--fs-lg) !important; }
.btn-sm { height: var(--h-sm) !important; font-size: var(--fs-md) !important; padding: 0 var(--sp-3) !important; }
.btn-auto { width: auto; }

/* кнопка в две строки: «Отправить код на номер<br> +34...» */
.h-bg:has(br), .btn-multiline {
    height: auto !important;
    min-height: var(--h-lg);
    padding-top: var(--sp-2);
    padding-bottom: var(--sp-2);
    white-space: normal;
    line-height: 1.35;
}

/* ---------- Неактивная ---------- */
.btn-off,
.btn-primary:disabled, .btn-primary-out:disabled, .btn-secondary:disabled, .btn-brand:disabled,
.btn-accent:disabled, .btn-success:disabled, .btn-danger:disabled, .btn-danger-fill:disabled, .btn-outline-primary:disabled {
    background: var(--c-disabled) !important;
    color: #fff !important;
    box-shadow: none !important;
    cursor: default;
    pointer-events: none;
}

/* ---------- Круглая иконка-кнопка (назад, закрыть) ---------- */
.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: var(--h-sm);
    height: var(--h-sm);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--c-bg-field);
    color: var(--c-text);
    cursor: pointer;
    transition: background-color var(--dur) var(--ease);
    -webkit-tap-highlight-color: transparent;
}
.btn-icon:hover { background: var(--c-bg-field-hover); }
.btn-icon svg { width: 22px; height: 22px; }



/* заголовок страницы кабинета без кнопки «назад» (с кнопкой — format='cabtitle', см. header.xhtml) */
.cabinet-title {
    margin: 0 0 var(--sp-4) !important;
    color: var(--c-text);
    font-size: var(--fs-h1) !important;
    font-weight: var(--fw-semibold) !important;
    line-height: var(--lh-tight);
}
.cabinet-subtitle {
    margin-bottom: var(--sp-4);
    color: var(--c-text-2);
    font-size: var(--fs-md);
}


/* ==========================================================================
   Отклики в кабинете
   cabinet/templ/chat.xhtml       — список объявлений с откликами (.ui-chat-*)
   cabinet/templ/chat_offer.xhtml — отклики на одно объявление (.ui-reply-*)
   Плитки контактов .offer-chat-contact-* используются и в карточке объявления.
   ========================================================================== */

/* --- список объявлений --- */
.ui-chat-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.ui-chat-row {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    color: var(--c-text);
    text-decoration: none;
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.ui-chat-row:hover { background: var(--c-bg-hover); color: var(--c-text); border-color: var(--c-border-strong); }
.ui-chat-img {
    flex: none;
    width: 64px;
    height: 64px;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-3);
}
.ui-chat-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ui-chat-img svg { width: 26px; height: 26px; }
.ui-chat-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ui-chat-title {
    margin: 0;
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.ui-chat-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-chat-meta span { display: inline-flex; align-items: center; gap: 4px; }
.ui-chat-meta svg { width: 14px; height: 14px; flex: none; }
.ui-chat-side { flex: none; display: flex; align-items: center; gap: var(--sp-2); color: var(--c-text-3); }
.ui-chat-count {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-size: 11px;
    color: var(--c-text-2);
}
.ui-chat-side > svg { width: 22px; height: 22px; }
@media (max-width: 520px) {
    .ui-chat-row { gap: var(--sp-3); padding: var(--sp-3); }
    .ui-chat-img { width: 52px; height: 52px; }
    .ui-chat-count small { display: none; }
}

/* пусто: показываем .ui-empty, если в списке нет строк */
.ui-chat-empty { display: none; }
.ui-chat-list:not(:has(.ui-chat-row, .ui-reply)) + .ui-chat-empty { display: block; }

/* --- шапка объявления на странице откликов --- */
.ui-reply-offer {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-4);
    border-radius: var(--r-lg);
    background: var(--c-bg-field);
    margin-bottom: var(--sp-4);
}
.ui-reply-offer .ui-chat-img { background: var(--c-bg); }

/* --- плашка «контакты скрыты» --- */
.ui-reply-lock {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    flex-wrap: wrap;
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-warning-soft);
    margin-bottom: var(--sp-4);
}
.ui-reply-lock-ico {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--c-bg);
    color: var(--c-warning-text);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ui-reply-lock-ico svg { width: 20px; height: 20px; }
.ui-reply-lock-text { flex: 1 1 220px; min-width: 0; }
.ui-reply-lock-text b { display: block; font-weight: var(--fw-semibold); margin-bottom: 2px; }
.ui-reply-lock-text span { color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-reply-lock .btn-primary { flex: 0 0 auto; }

/* --- отклик --- */
.ui-reply {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
}
.ui-reply-head { display: flex; align-items: center; gap: var(--sp-3); }
.ui-reply-ava {
    flex: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--c-bg-field) center / cover no-repeat;
}
.ui-reply-who { flex: 1; min-width: 0; }
.ui-reply-name { font-weight: var(--fw-semibold); font-size: var(--fs-md); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-reply-date { color: var(--c-text-3); font-size: var(--fs-xs); }
.ui-reply-new {
    flex: none;
    padding: 2px 10px;
    border-radius: var(--r-pill);
    background: var(--c-brand);
    color: #fff;
    font-size: 11px;
    font-weight: var(--fw-semibold);
}
.ui-reply-text {
    padding: var(--sp-3) var(--sp-4);
    border-radius: 4px var(--r-md) var(--r-md) var(--r-md);
    background: var(--c-bg-field);
    color: var(--c-text);
    font-size: var(--fs-md);
    line-height: 1.5;
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.ui-reply-label { color: var(--c-text-3); font-size: var(--fs-sm); }

/* плитки контактов */
.offer-chat-contacts-grid {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
}
.ui-reply .offer-chat-contacts-grid:not(:has(a, div)) { display: none; }
.offer-chat-contact-tile {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: var(--h-md);
    padding: 4px 14px 4px 4px;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-bg);
    color: var(--c-text);
    text-decoration: none;
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.offer-chat-contact-tile:hover { background: var(--c-bg-hover); border-color: var(--c-border-strong); color: var(--c-text); }
.offer-chat-contact-icon {
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: var(--r-sm);
    background: var(--c-bg-field);
    display: flex;
    align-items: center;
    justify-content: center;
}
.offer-chat-contact-icon svg { width: 18px; height: 18px; stroke: var(--c-text); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.offer-chat-contact-info { min-width: 0; }
.offer-chat-contact-label { font-size: 11px; color: var(--c-text-3); line-height: 1.2; }
.offer-chat-contact-value { font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--c-text); overflow-wrap: anywhere; }

/* контакты скрыты: плитки не кликаются */
.ui-reply-list.is-deny .offer-chat-contact-tile { pointer-events: none; }
.ui-reply-list.is-deny .offer-chat-contact-value { color: var(--c-text-3); letter-spacing: 1px; }



/* ==========================================================================
   Чекбокс и радио (format='check' / 'radio'):
     label.beta-checkbox[.radio] > input + span.beta-checkmark + span.beta-label-text
   Горизонтальная группа радио: обернуть {var format='radio'} в .ui-radio-row
   ========================================================================== */

.beta-checkbox {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    position: relative;
    min-height: 32px;
    margin-bottom: var(--sp-2);
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.beta-checkbox:last-child { margin-bottom: 0; }

/* сам input прячем, но оставляем доступным с клавиатуры */
.beta-checkbox input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.beta-checkmark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    border: 1.5px solid var(--c-border-strong);
    border-radius: var(--r-xs);
    background-color: var(--c-bg);
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.beta-checkbox.radio .beta-checkmark { border-radius: 50%; }

.beta-checkbox:hover .beta-checkmark { border-color: var(--c-primary); }
.beta-checkbox input:focus-visible ~ .beta-checkmark { box-shadow: var(--focus-ring); }

.beta-checkbox input:checked ~ .beta-checkmark {
    background-color: var(--c-primary);
    border-color: var(--c-primary);
}
/* галочка */
.beta-checkbox input:checked ~ .beta-checkmark:after {
    content: "";
    display: block;
    width: 5px;
    height: 10px;
    margin-bottom: 2px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
/* точка радио */
.beta-checkbox.radio input:checked ~ .beta-checkmark:after {
    width: 8px;
    height: 8px;
    margin: 0;
    border: none;
    border-radius: 50%;
    background: #fff;
    transform: none;
}

.beta-checkbox input:disabled ~ .beta-checkmark { background: var(--c-bg-field); border-color: var(--c-border); }
.beta-checkbox:has(input:disabled) { cursor: default; color: var(--c-text-3); }

.beta-label-text {
    font-size: 15px;
    line-height: 20px;
    color: var(--c-text);
}

/* радио в строку: <div class="ui-radio-row">{var ... format='radio'}</div> */
.ui-radio-row .beta-container-checklist > div[id] { display: flex; flex-wrap: wrap; column-gap: var(--sp-6); }
.ui-radio-row .beta-checkbox { margin-bottom: 0; }
/* ==========================================================================
   Переключатель вкл/выкл (.ui-switch)
     <label class="ui-switch"><input type="checkbox" name="x" value="1" checked><span></span> Текст</label>
   Чтобы выключенное состояние тоже ушло в форму — перед ним <input type="hidden" name="x" value="0">.
   .ui-switch.is-sm — маленький (для таблиц).
   ========================================================================== */
.ui-switch { display: inline-flex; align-items: center; gap: var(--sp-2); cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent; font-size: var(--fs-md); color: var(--c-text); }
.ui-switch input[type=checkbox] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.ui-switch > span { position: relative; flex: none; width: 40px; height: 24px; border-radius: 999px; background: var(--c-border-strong); transition: background .15s; }
.ui-switch > span::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: transform .15s; }
.ui-switch input:checked + span { background: var(--c-success, #14b85a); }
.ui-switch input:checked + span::after { transform: translateX(16px); }
.ui-switch input:focus-visible + span { box-shadow: var(--focus-ring); }
.ui-switch input:disabled + span { opacity: .5; cursor: not-allowed; }
.ui-switch.is-sm > span { width: 34px; height: 20px; }
.ui-switch.is-sm > span::after { width: 14px; height: 14px; }
.ui-switch.is-sm input:checked + span::after { transform: translateX(14px); }



/* ==========================================================================
   Ссылки по городам (seo_city_links() → a.citylink) в правой колонке
   .ui-cities > .ui-cities-title + .ui-cities-list > a.citylink + .ui-cities-more
   ========================================================================== */
/* блок стоит внутри белой карточки правой колонки — без своей рамки */
.ui-cities { padding: var(--sp-1) 0 var(--sp-2); }
.ui-cities-title { margin: 0 0 var(--sp-3); font-size: var(--fs-md); font-weight: var(--fw-semibold); color: var(--c-text); }
.ui-cities-list { display: flex; flex-wrap: wrap; gap: 6px; }
.ui-cities .citylink {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    border-radius: var(--r-pill);
    background: var(--c-bg-field);
    color: var(--c-text) !important;
    font-size: 13px;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color var(--dur) var(--ease);
}
.ui-cities .citylink:hover { background: var(--c-bg-field-hover); }
/* сначала показываем 12 городов, остальные — по кнопке */
.ui-cities:not(.is-open) .citylink:nth-of-type(n+13) { display: none; }
.ui-cities-more {
    margin-top: var(--sp-3);
    padding: 0;
    border: 0;
    background: none;
    color: var(--c-brand);
    font: inherit;
    font-size: 13px;
    font-weight: var(--fw-semibold);
    cursor: pointer;
}
.ui-cities.is-open .ui-cities-more .is-closed,
.ui-cities:not(.is-open) .ui-cities-more .is-opened { display: none; }
.ui-cities:not(:has(.citylink:nth-of-type(13))) .ui-cities-more { display: none; }


/* ==========================================================================
   Попап выбора города из заголовка списка («Услуги в Испании»).
   Разметка: <button type="button" class="ui-ls-city" data-city-pop>в Испании</button> внутри .ui-ls-head.
   Города берутся из <select name="city"> той же формы поиска (.ui-ls-search): основные города,
   выбор ставит город в select и отправляет форму поиска (bz_search → /{город}/{раздел}/).
   ========================================================================== */
.ui-cpop-fon { position: fixed; inset: 0; z-index: 400; background: rgba(17, 20, 24, .45); display: flex; align-items: flex-start; justify-content: center; padding: 10vh 16px 16px; }
.ui-cpop { width: 100%; max-width: 640px; max-height: 80vh; display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-5); border-radius: var(--r-lg); background: var(--c-bg); box-shadow: var(--shadow-pop); }
.ui-cpop-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.ui-cpop-head b { font-size: 20px; font-weight: var(--fw-semibold); }
.ui-cpop-x { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--c-bg-field); color: var(--c-text); font-size: 20px; line-height: 1; cursor: pointer; }
.ui-cpop-find { height: var(--h-md); padding: 0 var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-md); background: var(--c-bg-field); font: inherit; font-size: var(--fs-md); color: var(--c-text); }
.ui-cpop-find:focus { outline: none; border-color: var(--c-border-strong); background: var(--c-bg); }
.ui-cpop-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px var(--sp-3); overflow-y: auto; overscroll-behavior: contain; }
.ui-cpop-list button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: var(--r-sm); background: none; color: var(--c-text); font: inherit; font-size: var(--fs-md); text-align: left; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-cpop-list button:hover { background: var(--c-bg-hover); }
.ui-cpop-list button.is-sel { color: var(--c-brand); font-weight: var(--fw-semibold); }
.ui-cpop-list button.is-all { grid-column: 1 / -1; font-weight: var(--fw-semibold); }
.ui-cpop-none { color: var(--c-text-2); font-size: var(--fs-sm); }
@media (max-width: 640px) {
    .ui-cpop-fon { align-items: flex-end; padding: 0; }
    .ui-cpop { max-height: 85vh; border-radius: var(--r-lg) var(--r-lg) 0 0; }
    .ui-cpop-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}



/* ==========================================================================
   Выбор цвета: {var format='color'} (рендерер eva/vlib/vlibTemplate.php → color())
   .ui-color > label.ui-color-swatch(input[type=color]) + input.ui-color-hex + button.ui-color-clear
   .is-empty — значение не задано (будет цвет по умолчанию)
   ========================================================================== */
.ui-color {
    display: flex; align-items: center; gap: var(--sp-2);
    box-sizing: border-box; width: 100%; height: var(--h-lg); padding: 0 var(--sp-2) 0 var(--sp-2);
    border: 1px solid transparent; border-radius: var(--r-md); background: var(--c-bg-field);
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.ui-color:hover { background: var(--c-bg-field-hover); }
.ui-color:focus-within { background: var(--c-bg); border-color: var(--c-primary); box-shadow: var(--focus-ring); }
.ui-color-swatch {
    position: relative; flex: none; width: 40px; height: 40px; margin: 0; overflow: hidden;
    border-radius: var(--r-sm); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); cursor: pointer;
}
.ui-color-swatch input[type=color] {
    position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; opacity: 0; cursor: pointer;
}
.ui-color.is-empty .ui-color-swatch {
    background: repeating-conic-gradient(#d9dde3 0 25%, #fff 0 50%) 50% / 12px 12px !important;
}
.ui-color-hex {
    flex: 1; min-width: 0; height: 100%; padding: 0 var(--sp-2); border: 0; outline: none; background: transparent;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--fs-lg); color: var(--c-text);
    text-transform: uppercase;
}
.ui-color-hex::placeholder { text-transform: none; font-family: var(--font); color: var(--c-text-3); }
.ui-color-clear {
    flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0;
    border: 0; border-radius: var(--r-sm); background: transparent; color: var(--c-text-3); cursor: pointer;
}
.ui-color-clear:hover { background: var(--c-bg-field-hover); color: var(--c-text); }
.ui-color-clear svg { width: 18px; height: 18px; }
.ui-color.is-empty .ui-color-clear { visibility: hidden; }
.ui-color.sigma-valid { border-color: var(--c-danger); background: var(--c-danger-soft); }


/* ==========================================================================
   Диалог подтверждения и тост.
   JS:  uiConfirm({title, text, ok, cancel, danger:true, onOk:function(){}})
        uiToast('Текст', 'success' | 'danger' | '')
   Разметку создаёт JS, в шаблонах ничего добавлять не нужно.
   ========================================================================== */
.ui-dialog-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1040;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--sp-4);
    background: var(--c-overlay);
    opacity: 0;
    transition: opacity var(--dur) var(--ease);
}
.ui-dialog-backdrop.is-open { opacity: 1; }

.ui-dialog {
    box-sizing: border-box;
    width: 100%;
    max-width: 400px;
    padding: var(--sp-6);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    box-shadow: var(--shadow-pop);
    transform: translateY(8px) scale(.98);
    transition: transform var(--dur) var(--ease);
}
.ui-dialog-backdrop.is-open .ui-dialog { transform: none; }

.ui-dialog-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: var(--sp-4);
    border-radius: 50%;
    background: var(--c-bg-field);
    color: var(--c-text);
}
.ui-dialog-danger .ui-dialog-icon { background: var(--c-danger-soft); color: var(--c-danger); }
.ui-dialog-icon svg { width: 22px; height: 22px; }

.ui-dialog-title { margin: 0 0 var(--sp-2); font-size: var(--fs-h3); font-weight: var(--fw-semibold); line-height: 1.3; }
.ui-dialog-text { margin: 0 0 var(--sp-6); color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.5; }
.ui-dialog-actions { display: flex; gap: var(--sp-2); }
.ui-dialog-actions > button { flex: 1 1 0; }

/* на телефоне — снизу, как шторка */
@media (max-width: 440px) {
    .ui-dialog-backdrop { align-items: flex-end; padding: 0; }
    .ui-dialog { max-width: none; border-radius: var(--r-lg) var(--r-lg) 0 0; padding-bottom: calc(var(--sp-6) + env(safe-area-inset-bottom)); transform: translateY(100%); }
    .ui-dialog-actions { flex-direction: column-reverse; }
    .ui-dialog-actions > button { flex: none; }
}

/* ---------- Тост ---------- */
.ui-toast {
    position: fixed;
    left: 50%;
    bottom: calc(72px + env(safe-area-inset-bottom));
    z-index: 1050;
    width: max-content;
    max-width: calc(100% - 32px);
    box-sizing: border-box;
    text-align: center;
    padding: var(--sp-3) var(--sp-5);
    border-radius: var(--r-md);
    background: var(--c-text);
    color: #fff;
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    box-shadow: var(--shadow-pop);
    transform: translate(-50%, 16px);
    opacity: 0;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
    pointer-events: none;
}
.ui-toast.is-open { opacity: 1; transform: translate(-50%, 0); }
.ui-toast-success { background: var(--c-success); }
.ui-toast-danger { background: var(--c-danger); }




/* ==========================================================================
   Выпадающий список (format='select' и 'suggest').
   .beta-container.sigma-wrapper-{name} > input.beta-field + .sigma-drop-arrow
     + .sigma-dropmenu.sigma-dropmenu-{name} > .scroll > .sigma-drop-item
   Открытие: openDrop() → .sigma-wrapper-open на контейнере, .sigma-dropmenu-open на меню,
   показывает .sigma-drop-fon-{name} (затемнение, клик = closeDrop).
   ========================================================================== */

.sigma-drop-fon {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 104;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .25);
    animation: postFadeIn .3s ease-in-out forwards;
}

.sigma-wrapper { position: relative; }
.sigma-wrapper-open { z-index: 105 !important; }

/* стрелка (и иконка карты у format='map') — по центру поля */
.sigma-drop-arrow {
    position: absolute;
    top: 50%;
    right: var(--sp-4);
    width: 20px;
    height: 20px;
    color: var(--c-text-3);
    transform: translateY(-50%);
    transition: transform var(--dur) var(--ease);
    pointer-events: none;
}
.sigma-drop-arrow svg, .select__arrow { display: block; width: 20px; height: 20px; }
.sigma-wrapper-open > .sigma-drop-arrow { transform: translateY(-50%) rotate(180deg); }
/* значение не залезает под стрелку */
.sigma-drop-arrow ~ .beta-field, .beta-container:has(.sigma-drop-arrow) > .beta-field { padding-right: 28px; }

.sigma-dropmenu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    max-height: 396px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    flex-wrap: wrap;
    border: 0;
    border-radius: var(--r-md);
    background: var(--c-bg);
    box-shadow: var(--shadow-pop);
    font-size: var(--fs-base);
    opacity: 0;
    transition: opacity var(--dur) ease;
}
.sigma-dropmenu-open {
    display: flex !important;
    height: auto !important;
    opacity: 1 !important;
}
.sigma-dropmenu > div {
    box-sizing: border-box;
    width: 100%;
    max-height: 396px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}

.sigma-drop-group { width: 100%; }

.sigma-drop-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
    min-height: 46px;
    padding: var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);
    border: 0;
    border-bottom: 1px solid var(--c-border);
    color: var(--c-text);
    font-size: 15px;
    font-weight: var(--fw-regular);
    line-height: 20px;
    text-align: inherit;
    text-decoration: none;
    cursor: pointer;
}
.sigma-drop-item:last-child { border-bottom: 0; }
.sigma-drop-item:hover { background: var(--c-bg-hover) !important; }
.sigma-drop-item-left { padding-left: var(--sp-8) !important; }

.sigma-drop-item-selected { font-weight: var(--fw-semibold); }
.sigma-drop-item-selected:after {
    content: '';
    flex: none;
    width: 20px;
    height: 20px;
    margin-left: var(--sp-2);
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.03 5.97a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06 0l-3.5-3.5a.75.75 0 1 1 1.06-1.06L8 12.94l6.97-6.97a.75.75 0 0 1 1.06 0Z' fill='%234d4d4d'/%3E%3C/svg%3E");
}

/* старый select2old: input.sigma-drop */
.sigma-drop {
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: var(--h-md);
    padding: 0 40px 0 var(--sp-4);
    border: 1px solid transparent;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
    font-family: inherit;
    font-size: var(--fs-lg);
    line-height: 20px;
    color: var(--c-text);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

.noscroll { overflow-y: hidden !important; }




/* ==========================================================================
   Бейджи: .ebadge (+ модификатор цвета), .ebadge-round — счётчик.
   Модерация (format='moderation'): ebadge-success / -warning / -danger.
   ========================================================================== */
.ebadge {
    display: inline-flex;
    align-items: center;
    gap: var(--sp-1);
    box-sizing: border-box;
    height: 26px;
    padding: 0 10px;
    border-radius: var(--r-pill);
    background: var(--c-brand);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    line-height: 16px;
    white-space: nowrap;
    vertical-align: middle;
}

.ebadge-round {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: var(--r-pill);
    background: var(--c-brand);
    color: #fff;
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    line-height: 1;
    white-space: nowrap;
}

.ebadge-success { color: var(--c-success-text) !important; background-color: var(--c-success-soft); }
.ebadge-warning { color: var(--c-warning-text) !important; background-color: var(--c-warning-soft); }
.ebadge-danger  { color: var(--c-danger-text) !important;  background-color: var(--c-danger-soft); }
.ebadge-secondry, .ebadge-secondary,
.ebadge-main    { color: #4a4f57 !important; background-color: var(--c-bg-field); }
.ebadge-blue    { color: #1d4f8c !important; background-color: #e3efff; }
.ebadge-green   { color: #3a4a9c !important; background-color: #e6eaff; }   /* исторически синевато-фиолетовый */
.ebadge-es      { color: var(--c-brand) !important; background-color: var(--c-brand-soft); }

/* иконка внутри бейджа (<i class="ebadge-label bi ...">) */
.ebadge-label {
    display: inline-block;
    flex: none;
    width: 12px;
    height: 12px;
    margin: 0;
}




  .ui_egrid{
      
    display: flex;
    gap: 20px;
  }
  .ui_egrid_left{
      
      
  }
  .ui_egrid_right{
      
      
  }
 

 

  .eimg{
     width: 100%;
     height: 100%;  
  }
  .eimg_div{ 
      display: block;
      
      overflow: hidden;
      width: 100%;
      height: 100%;
      position: relative;
      background:gainsboro;
  }
  .eimg_img{
      object-fit: contain; aspect-ratio: 5 / 3;
      width: 100%;
      height: 100%; 
      position: relative;
      z-index: 1;
      transition: opacity 0.3s; 
      opacity: 0;  display: block;
      
  }
    .eimg_img_bac{
      object-fit: cover; aspect-ratio: 5 / 3;
      width: 100%;
      height: 100%;
     position: absolute;
      z-index: 1;
      transition: opacity 0.3s; 
      opacity: 0;  display: block;
      
  }
   
    .eimg_img_cat{
      position: relative;    background: #d9d9d9;
 border-radius: 10px;
    overflow: hidden;overflow: hidden; 
  
    border-radius: 10px;
         
    }
   @media (min-width: 441px) {
    .eimg_img_cat{ 
        border-radius: 15px;
        overflow: hidden;
    }
    
    .eimg_img{
         aspect-ratio: 4 / 4;
         object-fit: cover;
    }
     .eimg_img_bac{
        aspect-ratio: 4 / 4;
    }
 }
 
  .eimg_preimg{ 
      position: absolute;
      width: 100%;
      height: 100%; 
      opacity: 0;
  }
   








  .eslider{
      position: relative;
      width: 100%;
            aspect-ratio: 4 / 3;

  }


  .eslider_list{
     border-radius: 0px;
  scroll-snap-type: x mandatory; 
      scroll-behavior: smooth;
    overflow-x: hidden;
      display: grid;
      grid-auto-columns: 100%;
      grid-auto-flow: column;
      grid-template-areas: none;
 -webkit-overflow-scrolling: touch;
  }
.eslider_list::-webkit-scrollbar {
     width: 0px;
    height: 0px;
}
 


  .eslider_item_div{
      width: 100% ;  scroll-snap-align: start;
      border-radius: 10px;
  }
  .eslider_item{
      scroll-snap-align: start;
      display: block;
            aspect-ratio: 4 / 3;
      overflow: hidden;
      width: 100%;
          position: relative;
      background-size: cover!important;
      background-repeat: no-repeat!important;
      background-position: 50% 50%!important;
      
      
      
  }
  .eslider_item_img{
        object-fit: cover;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
     transition: opacity 0.3s;
    opacity: 0;
  }
  .eslider_item_preimg{
  object-fit: cover;
 
    position: absolute;
    width: 100%;
    height: 100%;
    
    opacity: 0;
  }
   .eslider_item_img_contain{
         object-fit: contain!important;
         
  }

  .eslider:hover > .eslider_div_prev {
      opacity: 1!important;
  }
  .eslider:hover > .eslider_div_next {
      opacity: 1!important;
  }

  .eslider_div_prev{
      transition: opacity 0.5s ease 0s;
      opacity: 0;
          z-index: 2;
      position: absolute;
      left: 0px;
      top: 0px; 
      width: 50px;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-around;
  }

  .eslider_prev{
      box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 4px, rgba(0, 0, 0, 0.18) 0px 2px 4px 0px;

      width: 24px;
      height: 24px;
      display: flex;
      justify-content: space-around;
      align-items: center;
      border-radius: 50%;


      background: white;
  }


  .eslider_div_next{
      transition: opacity 0.3s ease 0s;
      opacity: 0;
          z-index: 2;
      position: absolute;
      right: 0px;
      top: 0px;
      width: 50px;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-around;
  }

  .eslider_next{
      box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 4px, rgba(0, 0, 0, 0.18) 0px 2px 4px 0px;

      width: 24px;
      height: 24px;
      display: flex;
      justify-content: space-around;
      align-items: center;
      border-radius: 50%;


      background: white;
  }


  .slider_dots{
          z-index: 2;
      display: flex;
      flex-wrap: nowrap;
      gap: 5px;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 13px;
      width: 100%;
  }
  .slider_dot{

      width: 5px;
      height: 5px;
      border-radius: 100%;
      background-color: rgb(255 255 255 / 50%);
      transition: background-color 0.3s ease 0s;
  }
  .slider_dot_active{
      background-color: rgb(255 255 255 / 90%)!important;
      width: 7px!important;
      height: 7px!important;
  }

/* Стили для кнопок навигации слайдера */
.eslider_nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.8);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.eslider_nav:hover:not(:disabled) {
    background: rgba(255, 255, 255, 1);
    transform: translateY(-50%) scale(1.1);
}

.eslider_nav:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.eslider_prev {
    left: 10px;
}

.eslider_next {
    right: 10px;
}

.eslider_nav svg {
    width: 20px;
    height: 20px;
    fill: #333;
}

/* Для мобильных устройств скрываем кнопки или делаем их меньше */
@media (max-width: 768px) {
    .eslider_nav {
        width: 35px;
        height: 35px;
    }
    
    .eslider_prev {
        left: 5px;
    }
    
    .eslider_next {
        right: 5px;
    }
}







/* ==========================================================================
   Поля форм. Разметку выводит vlibTemplate_sigma.php:
     text / textarea / select / suggest / map:
       .beta-container.sigma-valid-{name} > input|textarea.beta-field + .beta-label
     radio:  .beta-container-checklist.sigma-valid-{name} > .sigma-label + #name > label.beta-checkbox.radio
     photo:  label.sigma-label + ... + #name_error.invalid-feedback
   Ошибка: eva_send_form() вешает .sigma-valid на .sigma-valid-{name}
   (снимается при следующей отправке).
   ========================================================================== */

/* ---------- Плавающая подпись: .beta-container ---------- */
.beta-container {
    position: relative;
    display: flex;
    box-sizing: border-box;
    width: 100%;
    min-height: var(--h-lg);
    padding: 26px var(--sp-4) 8px;
    border: 1px solid transparent;
    border-radius: var(--r-md);
    background-color: var(--c-bg-field);
    font-size: var(--fs-base);
    cursor: text;
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
    appearance: none !important;
    -webkit-appearance: none !important;
}
.beta-container:hover { background-color: var(--c-bg-field-hover); }
.beta-container:focus { outline: none; }
.beta-container:focus-within {
    background-color: var(--c-bg);
    border-color: var(--c-primary);
    box-shadow: var(--focus-ring);
}

.beta-field {
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-height: 20px;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
    font-family: inherit;
    font-size: var(--fs-lg);            /* 16px — iOS не зумит поле */
    line-height: 20px;
    color: var(--c-text);
    -webkit-tap-highlight-color: transparent;
    -moz-appearance: textfield;
    appearance: textfield;
}
textarea.beta-field { resize: vertical; line-height: 22px; min-height: 88px; }

/* без жёлтого фона автозаполнения */
.beta-field:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-text-fill-color: inherit !important;
    transition: background-color 5000s ease-in-out 0s;
}
/* без стрелок у number */
.beta-field::-webkit-inner-spin-button,
.beta-field::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

.beta-label {
    position: absolute;
    top: 27px;
    left: var(--sp-4);
    max-width: calc(100% - 48px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text-2);
    font-size: var(--fs-lg);
    line-height: 20px;
    transform: translateY(-50%);
    transform-origin: left top;
    transition: transform .15s cubic-bezier(.86, 0, .07, 1);
    pointer-events: none;
}
/* подпись уезжает вверх при фокусе или если есть значение */
.beta-field:not(:placeholder-shown) ~ .beta-label,
.beta-field:focus ~ .beta-label {
    transform: translateY(-95%) scale(.75);
    max-width: calc((100% - 48px) / .75);
}

/* подсказка под картой (format='map', op info:) — рендерер ставит инлайн-стили, приводим к виду .ui-hint */
[id$="_locInfo"] {
    gap: var(--sp-2) !important;
    align-items: flex-start;
    margin: var(--sp-2) 0 0 !important;
    padding: 0 !important;
    font-size: var(--fs-sm) !important;
    line-height: 18px;
    color: var(--c-text-2) !important;
}
[id$="_locInfo"] svg { flex: none; width: 16px; height: 16px; margin-top: 1px; }

/* ---------- Подпись над группой (радио, фото) ---------- */
.sigma-label {
    display: block;
    margin: 0 0 var(--sp-3);
    overflow: hidden;
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    color: var(--c-text);
    white-space: normal;
}

/* ---------- Группа радио ---------- */
.beta-container-checklist {
    box-sizing: border-box;
    padding: 0;
    border-radius: var(--r-md);
}

/* ---------- Ошибка ---------- */
.beta-container.sigma-valid,
.beta-container.sigma-valid:hover {
    border-color: var(--c-danger);
    background-color: var(--c-danger-soft);
}
.beta-container.sigma-valid:focus-within { background-color: var(--c-bg); box-shadow: none; }
.beta-container.sigma-valid .beta-label { color: var(--c-danger); }

.beta-container-checklist.sigma-valid > .sigma-label { color: var(--c-danger); }
.beta-container-checklist.sigma-valid .beta-checkmark { border-color: var(--c-danger); }

/* старые поля .sigma-form с ошибкой */
.sigma-form.sigma-valid { border-color: var(--c-danger) !important; background-color: var(--c-danger-soft); }

/* общая ошибка формы (над кнопкой) */
.sigma-form-error {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
    margin: var(--sp-4) 0;
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--r-md);
    background: var(--c-danger-soft);
    color: var(--c-danger-text);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
}
.sigma-form-error svg { flex: none; }

/* ---------- Старое простое поле .sigma-form (поиск, модалки, служебные) ---------- */
.sigma-form {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: var(--h-md);
    padding: 0 var(--sp-4);
    border: 1px solid transparent;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
    font-family: inherit;
    font-size: var(--fs-lg);
    line-height: 20px;
    color: var(--c-text);
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
    -webkit-tap-highlight-color: transparent;
}
.sigma-form:hover { background: var(--c-bg-field-hover); }
.sigma-form:focus {
    outline: none;
    background: var(--c-bg);
    border-color: var(--c-primary);
    box-shadow: var(--focus-ring);
}
.sigma-input-float { position: relative; width: 100%; }

/* PIN-код на экране входа */
.sigma-pin {
    width: 100%;
    height: var(--h-lg) !important;
    padding: 0;
    font-size: 28px !important;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    text-align: center;
    letter-spacing: 12px;
    -webkit-tap-highlight-color: transparent;
}



/* ==========================================================================
   Заголовок страницы с кнопкой «назад» — format='cabtitle':
     .header-flex > div > a.header-btn-back > svg  +  h1.header-title
   {var name='x' format='cabtitle' op='title:Заголовок;url:/cabinet/'}
   (раньше эти стили жили в order/templ/methodpay.xhtml — там их можно удалить)
   ========================================================================== */
.header-flex {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    min-height: var(--h-sm);
    margin-bottom: var(--sp-5);
}
.header-title {
    margin: 0;
    color: var(--c-text);
    font-size: var(--fs-h2);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-tight);
}
.header-btn-back {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--h-sm);
    height: var(--h-sm);
    border: none;
    border-radius: 50%;
    background: var(--c-bg-field);
    color: var(--c-text);
    cursor: pointer;
    transition: background-color var(--dur) var(--ease);
    -webkit-tap-highlight-color: transparent;
}
.header-btn-back:hover { background: var(--c-bg-field-hover); color: var(--c-text); }
.header-btn-back svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}



/* ==========================================================================
   Счета в кабинете (order/templ/orders.html)
   .ui-inv-list > .ui-inv > .ui-inv-ico + .ui-inv-body + .ui-inv-sum + .ui-inv-act
   ========================================================================== */
.ui-inv-list { display: flex; flex-direction: column; gap: var(--sp-3); }
.ui-inv {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
}
.ui-inv-ico {
    flex: none;
    width: 44px;
    height: 44px;
    border-radius: var(--r-md);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-warning-soft);
    color: var(--c-warning-text);
}
.ui-inv.is-paid .ui-inv-ico { background: var(--c-success-soft); color: var(--c-success-text); }
.ui-inv-ico svg { width: 22px; height: 22px; }
.ui-inv-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ui-inv-title { font-size: var(--fs-md); font-weight: var(--fw-semibold); color: var(--c-text); }
.ui-inv-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-inv-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 10px;
    border-radius: var(--r-pill);
    background: var(--c-warning-soft);
    color: var(--c-warning-text);
    font-size: 12px;
    font-weight: var(--fw-semibold);
}
.ui-inv.is-paid .ui-inv-status { background: var(--c-success-soft); color: var(--c-success-text); }
.ui-inv-status svg { width: 12px; height: 12px; }
.ui-inv-site { color: var(--c-text-3); }
.ui-inv-sum { flex: none; font-size: var(--fs-lg); font-weight: var(--fw-bold); color: var(--c-text); white-space: nowrap; text-align: right; }
.ui-inv-act { flex: none; width: 140px; }
.ui-inv-act > a { width: 100%; }
.ui-inv-act svg { width: 18px; height: 18px; flex: none; }

@media (max-width: 600px) {
    .ui-inv { flex-wrap: wrap; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); }
    .ui-inv-ico { width: 40px; height: 40px; }
    .ui-inv-body { flex: 1 1 calc(100% - 140px); }
    .ui-inv-act { width: 100%; }
}

/* пусто */
.ui-inv-empty { display: none; }
.ui-inv-list:not(:has(.ui-inv)) + .ui-inv-empty { display: block; }


/* ==========================================================================
   Публичный список объявлений и экран «карта / список».
   Первый потребитель — modules/business (услуги); дальше rent, sale, vacancy.
   .ui-ls > .ui-ls-head (.ui-ls-h1, .ui-ls-city, .ui-ls-count) + .ui-ls-list > .ui-ls-item
   Карта: .ui-map-wrap > #mapScreen.ui-map-screen + #sidebar + #listScreen.ui-ls-screen
   (id и старые классы map_*, mapScreenClose, listScreenOpen сохранены — на них завязан map/*.js)
   ========================================================================== */
.ui-ls { max-width: 960px; margin: 0 auto; padding: var(--sp-4) 0 96px; display: flex; flex-direction: column; gap: var(--sp-4); }

.ui-ls-flat { max-width: none; padding: 0; }

.ui-ls-head { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-ls-h1 { margin: 0; font-size: 26px; line-height: 1.2; }
.ui-ls-city {
    display: inline; padding: 0; border: 0; background: none; cursor: pointer;
    font: inherit; color: var(--c-brand);
    border-bottom: 2px dashed currentColor; line-height: 1.1;
}
.ui-ls-city:hover { opacity: .85; }
.ui-ls-count { color: var(--c-text-2); font-size: var(--fs-md); }

.ui-ls-list { display: flex; flex-direction: column; gap: var(--sp-3); }

/* карточка в списке */
.ui-ls-item {
    display: flex; gap: var(--sp-4);
    padding: var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
    transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.ui-ls-item:hover { border-color: var(--c-border-strong); box-shadow: var(--shadow-card); }
.ui-ls-item.is-mark { border-color: var(--c-brand); box-shadow: 0 0 0 1px var(--c-brand) inset; }

.ui-ls-media {
    flex: none; position: relative; display: block; overflow: hidden;
    width: 200px; aspect-ratio: 4 / 3; border-radius: var(--r-md); background: var(--c-bg-field);
}
.ui-ls-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ui-ls-noimg { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--c-text-3); }
.ui-ls-noimg svg { width: 36px; height: 36px; }

.ui-ls-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-ls-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-3); }
.ui-ls-title {
    color: var(--c-text) !important; font-size: var(--fs-lg); font-weight: var(--fw-semibold); line-height: 1.3;
    text-decoration: none; overflow-wrap: anywhere;
}
.ui-ls-title:hover { color: var(--c-brand) !important; }
.ui-ls-price { flex: none; text-align: right; font-size: var(--fs-lg); font-weight: var(--fw-bold); white-space: nowrap; }
.ui-ls-price small { display: block; font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--c-text-2); }

.ui-ls-loc { display: flex; align-items: center; gap: 6px; color: var(--c-text-2); font-size: var(--fs-md); }
.ui-ls-loc svg { flex: none; width: 16px; height: 16px; }

.ui-ls-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ui-ls-tags .swiper-slide { margin: 0 !important; width: auto !important; }

.ui-ls-text {
    color: var(--c-text); font-size: var(--fs-md); line-height: 1.5; overflow-wrap: anywhere;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

.ui-ls-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: auto; padding-top: var(--sp-2); }
.ui-ls-author { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; font-size: var(--fs-md); }
.ui-ls-ava { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--c-bg-field) center / cover no-repeat; }
.ui-ls-author-name { font-weight: var(--fw-semibold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-ls-author-online { color: var(--c-text-3); font-size: var(--fs-xs); }
.ui-ls-meta { color: var(--c-text-3); font-size: var(--fs-sm); }
.ui-ls-foot .btn-primary-out { flex: none; }

@media (max-width: 639px) {
    .ui-ls { padding-top: var(--sp-2); }
    .ui-ls-h1 { font-size: 22px; }
    .ui-ls-item { flex-direction: column; padding: var(--sp-3); gap: var(--sp-3); }
    .ui-ls-media { width: 100%; aspect-ratio: 16 / 9; }
    .ui-ls-top { flex-direction: column; gap: var(--sp-1); }
    .ui-ls-price { text-align: left; }
    .ui-ls-price small { display: inline; margin-left: 4px; }
    .ui-ls-foot .btn-primary-out { width: 100%; }
}

/* ---------- экран «карта / список» ---------- */
.ui-map-wrap { position: relative; overflow: hidden; height: calc(100% + 32px); margin: -16px -12px 0; padding-left: 14px; }
.ui-map-screen { position: absolute; left: 0; top: 56px; width: 100%; height: calc(100% - 56px); }
.ui-map-canvas { width: 100%; height: 100%; margin: 0; padding: 0; }
.ui-map-popup { position: absolute; bottom: 35px; left: 50%; }
.ui-map-bottom { position: absolute; bottom: 15px; left: 0; display: flex; justify-content: center; width: 100%; }
.ui-map-float { position: fixed; bottom: calc(70px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); z-index: 5; }
.ui-map-btn {
    display: inline-flex; align-items: center; gap: var(--sp-2);
    height: 44px; padding: 0 var(--sp-5); border: 0; border-radius: var(--r-pill);
    background: var(--c-text); color: #fff; font: inherit; font-size: var(--fs-md); font-weight: var(--fw-semibold);
    box-shadow: 0 6px 20px rgba(0,0,0,.18); cursor: pointer;
}
.ui-map-btn:hover { opacity: .92; }
.ui-map-btn svg { width: 18px; height: 18px; }
.ui-map-loading { position: absolute; top: 80px; left: 0; display: flex; justify-content: center; width: 100%; pointer-events: none; }
.ui-map-load { display: flex; gap: 6px; padding: 10px 14px; border-radius: var(--r-pill); background: var(--c-bg); box-shadow: var(--shadow-pop); }
.ui-map-load i { width: 8px; height: 8px; border-radius: 50%; background: var(--c-text-3); animation: uiMapDot 1s infinite ease-in-out; }
.ui-map-load i:nth-child(2) { animation-delay: .15s; }
.ui-map-load i:nth-child(3) { animation-delay: .3s; }
@keyframes uiMapDot { 0%, 80%, 100% { opacity: .25; transform: scale(.8); } 40% { opacity: 1; transform: scale(1); } }
.ui-map-sidebar { width: 320px; }
.ui-ls-screen { height: 100%; padding-right: 10px; }
.ui-ls-row { display: flex; justify-content: space-between; width: 100%; }
.ui-ls-row > .ui-ls { flex: 1; min-width: 0; }

/* правая колонка списка (ссылки, приложения) */
.ui-bz-cta { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-bz-cta b { color: var(--c-text); font-size: var(--fs-lg); }
.ui-bz-cta p { margin: 0 0 var(--sp-1); color: var(--c-text-2); font-size: var(--fs-md); line-height: 1.45; }
.ui-bz-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.ui-bz-cats a { display: inline-flex; align-items: center; height: 32px; padding: 0 var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--r-pill); color: var(--c-text) !important; font-size: var(--fs-sm); text-decoration: none; }
.ui-bz-cats a:hover { border-color: var(--c-text-3); }
.ui-ls-aside .ui-section-title { margin: 0 0 var(--sp-3); }
.ui-ls-aside { display: flex; flex-direction: column; gap: var(--sp-3); font-size: var(--fs-sm); color: var(--c-text-2); }
.ui-ls-apps { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ui-ls-apps a { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 var(--sp-2); border-radius: var(--r-md); background: var(--c-text); }
.ui-ls-apps img { height: 28px; width: auto; }

/* платные услуги (eva_pg::offer_schema → offer_rank_class): выделение и VIP — для всех сниппетов */
.beta_box.is-mark, .card.is-mark { box-shadow: 0 0 0 2px var(--c-brand) inset !important; }
.is-vip { position: relative; }
/* VIP — без красной рамки: мягкая жёлтая обводка в цвет значка */
.ui-ls-item.is-vip, .beta_box.is-vip, .card.is-vip { border-color: var(--c-border) !important; box-shadow: 0 0 0 1px rgba(240, 167, 31, .45) inset !important; }
.ui-vip {
    position: absolute; top: 0; right: 0; z-index: 2;
    padding: 3px 10px; border-radius: 0 var(--r-lg) 0 var(--r-md);
    background: var(--c-accent); color: var(--c-text);
    font-size: var(--fs-xs); font-weight: var(--fw-bold); letter-spacing: .06em; line-height: 1.4;
}

/* пагинация */
.ui-ls-pager { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding-top: var(--sp-2); }

/* строка поиска списка: текст + категория */
.ui-ls-search {
    display: flex; align-items: center; gap: var(--sp-2); margin-top: var(--sp-2);
    padding: 6px 6px 6px var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg);
}
.ui-ls-search:focus-within { border-color: var(--c-primary); box-shadow: var(--focus-ring); }
.ui-ls-search > svg { flex: none; width: 20px; height: 20px; color: var(--c-text-3); }
.ui-ls-search input { flex: 1; min-width: 0; height: 44px; border: 0; outline: none; background: transparent; font: inherit; font-size: var(--fs-lg); color: var(--c-text); }
.ui-ls-search select {
    flex: 0 1 240px; min-width: 0; height: 44px; padding: 0 var(--sp-3); border: 0; border-left: 1px solid var(--c-border);
    background: transparent; font: inherit; font-size: var(--fs-md); color: var(--c-text); cursor: pointer; outline: none;
}
.ui-ls-search select.ui-ls-search-city { flex: 0 1 170px; }
.ui-ls-search select option.ui-bz-opt-root { font-weight: var(--fw-bold); }
.ui-ls-search .btn-primary { flex: none; height: 44px; }
@media (max-width: 639px) {
    .ui-ls-search { flex-wrap: wrap; padding: var(--sp-2); }
    .ui-ls-search > svg { display: none; }
    .ui-ls-search input { flex-basis: 100%; padding: 0 var(--sp-2); }
    .ui-ls-search select { flex: 1 1 auto; border-left: 0; border-top: 1px solid var(--c-border); }
}


/* ==========================================================================
   Карточка объявления в кабинете (cabinet/my/snippet_my.html)
   .ui-offer > .ui-offer-media + .ui-offer-body
     > .ui-offer-meta · .ui-offer-title · .ui-stats · .ui-offer-actions · .ui-offer-link
   ========================================================================== */
.ui-offer-list { display: flex; flex-direction: column; gap: var(--sp-4); }

.ui-offer {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    box-sizing: border-box;
    width: 100%;
    padding: var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
}
@media (min-width: 640px) {
    .ui-offer { flex-direction: row; padding: var(--sp-5); gap: var(--sp-5); }
    .ui-offer-media { flex: none; width: 220px; }
}
.ui-offer-media { position: relative; }
.ui-offer-body { display: flex; flex-direction: column; flex-grow: 1; min-width: 0; gap: var(--sp-3); }

.ui-offer-meta { display: flex; flex-wrap: wrap; color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-offer-meta > *:not(:last-child)::after { content: "•"; margin: 0 var(--sp-2); }

.ui-offer-title {
    display: flex;
    align-items: flex-start;
    gap: var(--sp-2);
    margin: 0;
    color: var(--c-text);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.ui-offer-title a { flex: none; display: inline-flex; color: var(--c-text-3); }
.ui-offer-title a:hover { color: var(--c-text); }
.ui-offer-title svg { width: 20px; height: 20px; }

/* плитки с цифрами (услуги объявления) — прокрутка по горизонтали на телефоне */
.ui-stats {
    display: flex;
    gap: var(--sp-2);
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}
.ui-stats::-webkit-scrollbar { display: none; }
.ui-stat {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--sp-1);
    flex: none;
    box-sizing: border-box;
    width: 104px;
    min-height: 64px;
    padding: var(--sp-2) 10px;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
}
.ui-stat-title { color: var(--c-text-2); font-size: 11px; line-height: 14px; }
.ui-stat-value { color: var(--c-text); font-size: var(--fs-md); font-weight: var(--fw-semibold); white-space: nowrap; }

.ui-offer-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: auto; }
.ui-offer-actions > a, .ui-offer-actions > button { flex: 1 1 140px; width: auto; }
.ui-offer-actions svg { width: 18px; height: 18px; flex: none; }

/* строка-ссылка «Входящие отклики  [3]  >» */
.ui-offer-link {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    min-height: var(--h-md);
    padding: 0 var(--sp-3) 0 var(--sp-4);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    color: var(--c-text);
    font-size: 15px;
    text-decoration: none;
    transition: background-color var(--dur) var(--ease);
}
.ui-offer-link:hover { background: var(--c-bg-hover); color: var(--c-text); }
.ui-offer-link > span:first-of-type { flex-grow: 1; }
.ui-offer-link svg { flex: none; color: var(--c-text-3); }

/* пустой список */
.ui-empty {
    padding: var(--sp-8) var(--sp-5);
    border: 1px dashed var(--c-border-strong);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    text-align: center;
}
.ui-empty-title { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); font-weight: var(--fw-semibold); }
.ui-empty-text { margin: 0 0 var(--sp-5); color: var(--c-text-2); font-size: var(--fs-md); }



/* ==========================================================================
   Страница объявления (various/templ/card.xhtml и далее для всех типов).
   .ui-oc > .ui-oc-grid > .ui-oc-main + .ui-oc-aside(.ui-oc-panel, .ui-oc-author, .ui-oc-safety)
   На телефоне панель с кнопками превращается в закреплённую полосу .ui-oc-bar.
   ========================================================================== */
.ui-oc { max-width: 1200px; margin: 0 auto; padding-bottom: var(--sp-8); }

.ui-oc-alert {
    display: flex; gap: var(--sp-3); align-items: flex-start;
    margin-bottom: var(--sp-4); padding: 14px var(--sp-4);
    border-radius: var(--r-md); background: var(--c-warning-soft); color: var(--c-warning-text);
    font-size: var(--fs-md); line-height: 20px;
}
.ui-oc-alert svg { flex: none; margin-top: 1px; }

.ui-oc-grid { display: flex; flex-wrap: wrap; gap: var(--sp-6); align-items: flex-start; }
.ui-oc-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: var(--sp-4); }
.ui-oc-grid > .catalog_right { flex: 1 1 300px; max-width: 360px; min-width: 0; }
@media (max-width: 639px) { .ui-oc-grid > .catalog_right { max-width: none; } }
.ui-oc-aside { flex: 1 1 320px; max-width: 380px; display: flex; flex-direction: column; gap: var(--sp-4); position: sticky; top: var(--sp-5); }

/* шапка */
.ui-oc-head { display: flex; gap: var(--sp-4); align-items: flex-start; }
.ui-oc-head-text { flex-grow: 1; min-width: 0; }
.ui-oc-title { margin: 0 0 var(--sp-2); font-size: 22px; letter-spacing: -0.005em; font-weight: var(--fw-semibold); line-height: var(--lh-tight); overflow-wrap: anywhere; }
.ui-oc-loc { display: flex; align-items: center; gap: 6px; color: var(--c-text-2); font-size: 15px; }
.ui-oc-loc svg { flex: none; }
.ui-oc-head-actions { display: flex; gap: var(--sp-2); flex: none; }
.ui-oc-fav.is-on { background: var(--c-brand-soft); color: var(--c-brand); }
.ui-oc-fav.is-on svg { fill: currentColor; }

/* блоки */
.ui-oc-box { padding: var(--sp-6); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); }
.ui-oc-box > h2 { margin: 0 0 var(--sp-3); font-size: var(--fs-h3); }
.ui-oc-gallery { padding: var(--sp-3); overflow: hidden; }

.ui-oc-tags { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.ui-oc-tags .swiper-slide { margin: 0 !important; width: auto !important; }

.ui-oc-desc { font-size: 15px; line-height: var(--lh-text); overflow-wrap: anywhere; }
.ui-oc-desc.is-clamped { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; }
.ui-oc-more { margin-top: var(--sp-3); }

.ui-oc-facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--sp-3); }
.ui-oc-fact { padding: var(--sp-3) 14px; border-radius: var(--r-md); background: var(--c-bg-field); }
.ui-oc-fact-k { margin-bottom: var(--sp-1); color: var(--c-text-2); font-size: var(--fs-xs); }
.ui-oc-fact-v { font-size: 15px; font-weight: var(--fw-semibold); }

.ui-oc-meta { display: flex; flex-wrap: wrap; gap: var(--sp-2); color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-oc-meta > *:not(:last-child)::after { content: "•"; margin-left: var(--sp-2); }
.ui-oc-meta a { color: var(--c-text-2); text-decoration: underline; }

/* панель цены и связи */
.ui-oc-panel { display: flex; flex-direction: column; gap: var(--sp-4); }
.ui-oc-price { font-size: 30px; font-weight: var(--fw-bold); letter-spacing: -0.01em; line-height: 1.2; }
.ui-oc-price small { font-size: var(--fs-lg); font-weight: var(--fw-semibold); color: var(--c-text-2); }
.ui-oc-actions { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-oc-phone { flex-direction: column; gap: 0; line-height: 1.3; }
.ui-oc-phone small { font-size: var(--fs-sm); font-weight: var(--fw-regular); color: var(--c-text-2); }
.ui-oc-phone-open { background: var(--c-success-soft) !important; color: var(--c-success-text) !important; font-size: 18px !important; }

/* автор */
.ui-oc-author { display: flex; flex-direction: column; gap: 14px; padding: var(--sp-5); }
.ui-oc-author-row { display: flex; align-items: center; gap: var(--sp-3); }
.ui-oc-ava { width: 52px; height: 52px; flex: none; border-radius: 50%; object-fit: cover; background: var(--c-bg-field); }
.ui-oc-author-name { font-size: var(--fs-lg); font-weight: var(--fw-semibold); }

.ui-oc-safety {
    display: flex; gap: 10px; padding: 14px var(--sp-4);
    border: 1px solid var(--c-info-border); border-radius: var(--r-md); background: var(--c-info-soft);
    color: #1d4f8c; font-size: var(--fs-sm); line-height: 18px;
}
.ui-oc-safety svg { flex: none; margin-top: 1px; }

.ui-oc-seo { margin-top: var(--sp-6); }
.ui-oc-links { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4); font-size: var(--fs-md); }

/* левая часть — один белый блок, внутренние секции без своих рамок */
.ui-oc-main { padding: var(--sp-6); border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); gap: var(--sp-5); box-sizing: border-box; }
.ui-oc-main > .ui-oc-box { padding: var(--sp-5) 0 0; border: 0; border-top: 1px solid var(--c-border); border-radius: 0; background: none; }
.ui-oc-main > .ui-oc-gallery { padding: 0; border-top: 0; border-radius: var(--r-md); overflow: hidden; }
.ui-oc-main > .ui-oc-meta { padding-top: var(--sp-4); border-top: 1px solid var(--c-border); }
@media (max-width: 639px) {
    .ui-oc-main { padding: var(--sp-4); }
    .ui-oc-main > .ui-oc-box { padding-top: var(--sp-4); }
}

/* отзывы */
.ui-oc-rev-head, .ui-oc-similar-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.ui-oc-rev-head h2, .ui-oc-similar-head h2 { margin: 0; font-size: var(--fs-h3); }
.ui-oc-rev-sum { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.ui-oc-rev-score { font-size: 36px; font-weight: var(--fw-bold); line-height: 1; }
.ui-oc-stars { color: #e8a317; letter-spacing: 1px; }
.ui-oc-rev { padding: var(--sp-4) 0; border-top: 1px solid var(--c-border); font-size: var(--fs-md); line-height: 1.5; }
.ui-oc-rev:last-of-type { margin-bottom: var(--sp-4); }
.ui-oc-rev-top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin-bottom: var(--sp-1); }

/* похожие объявления */
.ui-oc-similar { margin-top: var(--sp-8); }
.ui-oc-similar-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4); }
.ui-oc-sim { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--c-border); border-radius: var(--r-lg); background: var(--c-bg); color: var(--c-text); text-decoration: none; }
.ui-oc-sim:hover { color: var(--c-text); box-shadow: var(--shadow-pop); }
.ui-oc-sim-img { aspect-ratio: 4 / 3; background: var(--c-bg-field); }
.ui-oc-sim-body { display: flex; flex-direction: column; gap: var(--sp-1); padding: var(--sp-3) 14px 14px; font-size: var(--fs-sm); }
.ui-oc-sim-price { font-size: var(--fs-lg); font-weight: var(--fw-bold); }
.ui-oc-sim-title { font-size: var(--fs-md); line-height: 1.35; }
@media (max-width: 1023px) { .ui-oc-similar-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) {
    .ui-oc-similar-list { display: flex; overflow-x: auto; margin: 0 -10px; padding: 0 10px 4px; }
    .ui-oc-sim { flex: none; width: 160px; }
}

/* закреплённая полоса на телефоне */
.ui-oc-bar { display: none; }
@media (max-width: 639px) {
    .ui-oc { padding-bottom: 96px; }
    .ui-oc-aside { position: static; max-width: none; }
    .ui-oc-title { font-size: 19px; }
    .ui-oc-box { padding: var(--sp-4); }
    .ui-oc-gallery { padding: 0; border: 0; border-radius: var(--r-md); }
    .ui-oc-panel .ui-oc-actions { display: none; }
    .ui-oc-bar {
        display: flex; gap: var(--sp-2);
        position: fixed; left: 0; right: 0; bottom: calc(50px + env(safe-area-inset-bottom)); z-index: 20;
        padding: var(--sp-2) var(--sp-3);
        background: var(--c-bg); border-top: 1px solid var(--c-border); box-shadow: 0 -4px 16px rgba(0,0,0,.05);
    }
    .ui-oc-bar > * { flex: 1 1 0; height: 52px !important; }
    .ui-oc-bar > .btn-primary { flex-grow: 1.4; }
}

/* окно сообщения */
.ui-oc-msg textarea {
    display: block; box-sizing: border-box; width: 100%; min-height: 120px;
    padding: 14px var(--sp-4); border: 1px solid transparent; border-radius: var(--r-md);
    background: var(--c-bg-field); font: inherit; font-size: var(--fs-lg); line-height: 22px; color: var(--c-text); resize: vertical;
}
.ui-oc-msg textarea:focus { outline: none; background: var(--c-bg); border-color: var(--c-primary); box-shadow: var(--focus-ring); }
.ui-oc-quick { display: flex; gap: var(--sp-2); overflow-x: auto; margin-bottom: var(--sp-3); }
.ui-oc-quick button {
    flex: none; height: 34px; padding: 0 var(--sp-3); border: 1px solid var(--c-border-strong); border-radius: var(--r-pill);
    background: var(--c-bg); font: inherit; font-size: var(--fs-sm); cursor: pointer;
}

/* ---------- окно «Написать сообщение» ---------- */
.ui-msg-head { padding: var(--sp-2) var(--sp-4) var(--sp-3) !important; }
.ui-msg-head h2 { margin: 0; font-size: 22px; font-weight: var(--fw-semibold); }
.ui-msg-close { width: 44px; height: 44px; border: 0; background: none; color: var(--c-text); cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.ui-msg-close:hover { background: var(--c-bg-field); }
.ui-msg { display: flex; flex-direction: column; gap: var(--sp-3); padding-bottom: var(--sp-6); }
.ui-msg-to { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--r-lg); }
.ui-msg-ava { flex: none; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #fcd535; }
.ui-msg-ava img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ui-msg-to-text { min-width: 0; }
.ui-msg-to-name { font-size: 15px; font-weight: var(--fw-semibold); }
.ui-msg-to-sub { color: var(--c-text-2); font-size: var(--fs-sm); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-msg .beta-container textarea.beta-field { min-height: 110px; }
.ui-msg-under { display: flex; justify-content: space-between; gap: var(--sp-3); margin-top: calc(-1 * var(--sp-1)); padding: 0 var(--sp-1); color: var(--c-text-2); font-size: var(--fs-xs); }
.ui-msg-count.is-over { color: var(--c-danger); }
.ui-msg-err { margin: 4px 0 8px; font-size: var(--fs-sm, 13px); color: var(--c-danger); }
.ui-msg-h { margin: var(--sp-3) 0 0; font-size: var(--fs-h3); }
.ui-msg-note { display: flex; gap: var(--sp-3); align-items: flex-start; padding: var(--sp-3) var(--sp-4); border-radius: var(--r-md); background: var(--c-bg-field); font-size: var(--fs-md); line-height: 1.5; }
.ui-msg-note svg { flex: none; margin-top: 1px; }
.ui-msg-fields { display: flex; flex-direction: column; gap: var(--sp-3); }
.ui-msg-hint { margin-top: var(--sp-1); padding: 0 var(--sp-1); color: var(--c-text-2); font-size: var(--fs-xs); }
.ui-msg-legal { margin: var(--sp-2) 0 0; color: var(--c-text-2); font-size: var(--fs-sm); line-height: 1.5; }
.ui-msg-legal a { color: var(--c-text); text-decoration: underline; }
/* шире на компьютере — окно по центру, не во всю ширину */
@media (min-width: 441px) { .overlay .overlay-body:has(.ui-msg) { max-width: 560px; } }


/* окно сообщения: тело прокручивается, кнопка «Отправить» всегда видна внизу */
.overlay:has(.ui-msg) { height: auto; }
.overlay:has(.ui-msg) .overlay-body { box-sizing: border-box; display: flex; flex-direction: column; height: 100%; max-height: 100%; }
.overlay:has(.ui-msg) .ui-msg-head { flex: none; }
.overlay .ui-msg { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.ui-msg .ui-msg-send { position: sticky; bottom: 12px; z-index: 2; flex: none; box-shadow: 0 0 0 12px #fff, 0 -16px 16px 4px #fff; }

  .ui_overlay {
      transform: none;
      align-items: stretch;
      display: none;
      flex-direction: column;
      justify-content: flex-end;
      margin: 0 auto;
      height: 100%;

      max-width: 100%;
      width: 100%;
      position: absolute;
      top: 0px;
      left: 0px;
      background-color: #ccc;
  }

  .ui_overlay {

      z-index: 1010;


  }
  .overlay-full{
       height: 100%;
  }

  .overlay {
      position: fixed;
      bottom: -100%;
      left: 0;    
      right: 0; 
      transition: bottom 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
      will-change: bottom;
      z-index: 1031;
      overflow: hidden;
      touch-action: pan-y;
  }

  .overlay.open {
      bottom: 0;
  }

  .overlay.dragging {
      transition: none !important;
  }

  .overlay-header {
      height: 10px;    padding: 15px 0px 15px 0px;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: grab;
      touch-action: none;
  }
  .overlay-title{
     display: flex ;
    align-items: center;
    justify-content: space-between;
        padding-bottom: 5px;
        padding-left:15px;
    padding-right: 15px;
  }
  
 .overlay-full > .overlay-header {
      display: none;
  }
  .overlay-full > .overlay-body {
     height: 100%;
         border-radius: 0;
  }
  
  .overlay-body{
         padding: 15px 0px 15px 0px; min-height: 150px;
       max-width  : 1170px;  
        border-radius: 20px 20px 0 0;
      background: white;
  }
  .overlay-padding{
       padding: 0px 15px 0px 15px ; 
  }
  
  
  
   @media (min-width: 441px) {
        .overlay-body{
         
            margin: 0 auto!important;
             border-radius: 20px!important;
        }
        .drag-handle {
            display: none;
        }
        .overlay.open {
            top:20px!important;
           
        }
   }
    
  .drag-handle {
      width: 40px;
      height: 6px;
      border-radius: 2px;
      background: white;
  }

  

  .overlay-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0,0,0,0.5);
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease;
      z-index: 1030;
  }

  .overlay-backdrop.show {
      opacity: 1;
      visibility: visible;
  }
 


/* ==========================================================================
   ui-pick — выпадающий выбор на ките вместо нативного <select>.
   Разметка: обычный <select class="ui-pick" name="…"> (форма и сервер работают как раньше).
   JS оборачивает его: span.ui-pick-wrap > select(скрыт) + button.ui-pick-btn + div.ui-pick-pop
   Атрибуты select:
     data-icon="cat|city"      иконка слева
     data-search="Найти город" поле фильтра в списке (появляется, если пунктов > 8)
   Пункт <option class="ui-bz-opt-root"> — заголовок группы (жирный), пункты с ведущими &nbsp; — вложенные.
   <option disabled> — показывается, но выбрать нельзя (например раздел, когда нужна только подкатегория).
   Выбор меняет select.value и шлёт событие change (на него завязан поиск в списках).
   На телефоне (< 640px) список открывается снизу шторкой.
   ========================================================================== */
select.ui-pick[data-pick-init] { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }

.ui-pick-wrap { position: relative; display: inline-flex; min-width: 0; }

.ui-pick-btn {
    display: inline-flex; align-items: center; gap: var(--sp-2); width: 100%; min-width: 0;
    height: var(--h-md); padding: 0 var(--sp-3) 0 var(--sp-4);
    border: 1px solid var(--c-border); border-radius: var(--r-md); background: var(--c-bg-field);
    font: inherit; font-size: var(--fs-md); color: var(--c-text); text-align: left; cursor: pointer;
    transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.ui-pick-btn:hover { background: var(--c-bg-field-hover); }
.ui-pick-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ui-pick-ico { flex: none; width: 18px; height: 18px; color: var(--c-text-2); }
.ui-pick-label { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ui-pick-btn.is-empty .ui-pick-label { color: var(--c-text-2); }
.ui-pick-arrow { flex: none; width: 18px; height: 18px; color: var(--c-text-3); transition: transform var(--dur) var(--ease); }
.ui-pick-wrap.is-open .ui-pick-arrow { transform: rotate(180deg); }

.ui-pick-pop {
    display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 120;
    width: max(100%, 300px); max-width: calc(100vw - 32px);
    padding: var(--sp-2); border: 1px solid var(--c-border); border-radius: var(--r-md);
    background: var(--c-bg); box-shadow: var(--shadow-pop);
}
.ui-pick-wrap.is-open .ui-pick-pop { display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-pick-wrap.is-right .ui-pick-pop { left: auto; right: 0; }
.ui-pick-head { display: none; }

.ui-pick-pop .ui-pick-find {
    flex: none; width: 100%; height: var(--h-sm); padding: 0 var(--sp-3); box-sizing: border-box;
    border: 1px solid var(--c-border); border-radius: var(--r-sm); background: var(--c-bg-field);
    font: inherit; font-size: var(--fs-md); color: var(--c-text); outline: none;
}
.ui-pick-pop .ui-pick-find:focus { background: var(--c-bg); border-color: var(--c-border-strong); }

.ui-pick-list { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; }
.ui-pick-opt {
    display: flex; align-items: center; gap: var(--sp-2); width: 100%; min-height: 38px; padding: 6px var(--sp-3);
    border: 0; border-radius: var(--r-sm); background: none;
    font: inherit; font-size: var(--fs-md); color: var(--c-text); text-align: left; cursor: pointer;
}
.ui-pick-opt:hover, .ui-pick-opt.is-active { background: var(--c-bg-hover); }
.ui-pick-opt.is-root { font-weight: var(--fw-semibold); margin-top: var(--sp-1); }
.ui-pick-opt.is-child { padding-left: calc(var(--sp-3) + 14px); color: var(--c-text-2); }
.ui-pick-opt.is-child:hover { color: var(--c-text); }
.ui-pick-opt span { flex: 1; min-width: 0; }
.ui-pick-oico { flex: none; width: 18px; height: 18px; color: var(--c-text-2); }
.ui-pick-opt.is-sel .ui-pick-oico { color: currentColor; }
.ui-pick-list.has-ico .ui-pick-opt.is-child { padding-left: calc(var(--sp-3) + 26px); }
.ui-pick-opt.is-sel { color: var(--c-brand); font-weight: var(--fw-semibold); }
.ui-pick-opt.is-off { cursor: default; background: none; color: var(--c-text); opacity: 1; }
.ui-pick-opt.is-sel:after {
    content: ""; flex: none; width: 16px; height: 16px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ui-pick-none { padding: var(--sp-3); color: var(--c-text-3); font-size: var(--fs-md); }
.ui-pick-fon { display: none; }

/* внутри строки поиска списка: без рамки и фона, разделитель слева */
.ui-ls-search .ui-pick-wrap { flex: 0 1 230px; border-left: 1px solid var(--c-border); }
.ui-ls-search .ui-pick-wrap.ui-pick-city { flex-basis: 180px; }
.ui-ls-search .ui-pick-btn { height: 44px; border: 0; border-radius: var(--r-sm); background: transparent; }
.ui-ls-search .ui-pick-btn:hover { background: var(--c-bg-hover); }

@media (max-width: 639px) {
    .ui-pick-fon { position: fixed; inset: 0; z-index: 119; background: var(--c-overlay); }
    .ui-pick-wrap.is-open .ui-pick-fon { display: block; }
    .ui-pick-pop {
        position: fixed; top: auto; left: 0; right: 0; bottom: 0; width: auto; max-width: none;
        max-height: 80vh; padding: var(--sp-4) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));
        border: 0; border-radius: var(--r-lg) var(--r-lg) 0 0;
    }
    .ui-pick-head { display: flex; align-items: center; justify-content: space-between; font-weight: var(--fw-semibold); font-size: var(--fs-lg); }
    .ui-pick-close { width: 36px; height: 36px; border: 0; border-radius: 50%; background: var(--c-bg-field); font-size: 20px; line-height: 1; cursor: pointer; }
    .ui-pick-list { max-height: none; flex: 1; }
    .ui-pick-opt { min-height: 44px; }
    .ui-ls-search .ui-pick-wrap { flex: 1 1 45%; border-left: 0; border-top: 1px solid var(--c-border); }
    .ui-ls-search .ui-pick-wrap.ui-pick-city { flex-basis: 45%; }
}


/* ==========================================================================
   Профиль в кабинете (cabinet/templ/profile.html)
   .ui-prof-head — шапка с аватаром; .ui-prof-grid > .ui-prof-sec > .ui-prof-row
   ========================================================================== */
.ui-prof-head {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-5);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    margin-bottom: var(--sp-4);
}
.ui-prof-ava {
    flex: none;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--c-bg-field);
}
.ui-prof-who { flex: 1; min-width: 0; }
.ui-prof-name { margin: 0; font-size: var(--fs-h3, 20px); font-weight: var(--fw-semibold); line-height: 1.25; overflow-wrap: anywhere; }
.ui-prof-sub { color: var(--c-text-2); font-size: var(--fs-sm); margin-top: 2px; overflow-wrap: anywhere; }

.ui-prof-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--sp-4);
    align-items: start;
}
.ui-prof-sec {
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    padding: var(--sp-5) var(--sp-5) var(--sp-2);
}
.ui-prof-title {
    margin: 0 0 var(--sp-2);
    color: var(--c-text);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
    line-height: 1.3;
}
/* строка: иконка без подложки, разделители между строками */
.ui-prof-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 56px;
    margin: 0 calc(-1 * var(--sp-3));
    padding: 10px var(--sp-3);
    border-radius: var(--r-md);
    color: var(--c-text);
    text-decoration: none;
    font-size: var(--fs-md);
    box-sizing: border-box;
}
.ui-prof-row + .ui-prof-row::before {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--sp-3) + 34px);
    right: var(--sp-3);
    border-top: 1px solid var(--c-border);
}
a.ui-prof-row, button.ui-prof-row { cursor: pointer; transition: background-color var(--dur) var(--ease); }
a.ui-prof-row:hover, button.ui-prof-row:hover { background: var(--c-bg-hover); color: var(--c-text); }
a.ui-prof-row:hover::before, a.ui-prof-row:hover + .ui-prof-row::before,
button.ui-prof-row:hover::before, button.ui-prof-row:hover + .ui-prof-row::before { border-color: transparent; }
button.ui-prof-row { width: calc(100% + 2 * var(--sp-3)); border: 0; background: none; font: inherit; text-align: left; }
.ui-prof-ico {
    flex: none;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-text-2);
}
.ui-prof-ico svg { width: 20px; height: 20px; }
.ui-prof-body { flex: 1; min-width: 0; line-height: 1.35; }
.ui-prof-label { font-size: 12px; color: var(--c-text-3); line-height: 1.3; margin-bottom: 1px; }
.ui-prof-value { overflow-wrap: anywhere; }
.ui-prof-value.is-empty { color: var(--c-text-3); }
.ui-prof-arrow { flex: none; width: 18px; height: 18px; color: var(--c-text-3); }
.ui-prof-row.is-danger, .ui-prof-row.is-danger .ui-prof-ico { color: var(--c-danger); }

@media (max-width: 520px) {
    .ui-prof-head { padding: var(--sp-4); }
    .ui-prof-ava { width: 56px; height: 56px; }
    .ui-prof-grid { grid-template-columns: 1fr; }
    .ui-prof-sec { padding: var(--sp-4) var(--sp-4) var(--sp-1); }
}



  .rippleRelative{
     overflow: hidden;position: relative;
  }
 
.ripple {
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
 opacity: 1;
  z-index: 1;
  /* Аппаратное ускорение */
  transform: translateZ(0) scale(0);
  /* Плавная анимация */
  transition: 
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.35s cubic-bezier(1, 0.8, 0.5, 0);
  /* Оптимизация */
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.rippleEffect {
  transform: translateZ(0)  scale(2);
 opacity: 0;
}

 

 


/* ==========================================================================
   Сетка: .srow > .scol-12 | .scol-6 | .scol-4
   до 640px все колонки на всю ширину; зазор — --gap
   ========================================================================== */
.srow {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--gap);
    margin-bottom: var(--sp-5);
}
.scol-12, .scol-6, .scol-4, .scol-3 { width: 100%; min-width: 0; box-sizing: border-box; }

@media (min-width: 640px) {
    .scol-6 { width: calc((100% - var(--gap)) / 2) !important; }
    .scol-4 { width: calc((100% - 2 * var(--gap)) / 3) !important; }
    .scol-3 { width: calc((100% - var(--gap)) / 2) !important; }
}
@media (min-width: 1024px) {
    .scol-3 { width: calc((100% - 3 * var(--gap)) / 4) !important; }
}

/* ряд, который не переносится и на телефоне (день / месяц / год) */
.srow-fit { flex-wrap: nowrap; gap: var(--sp-2); }
.srow-fit > [class^="scol-"], .srow-fit > [class*=" scol-"] { flex: 1 1 0; width: auto !important; }

.mb20 { margin-bottom: 10px; }



/* ==========================================================================
   sblock — карточка-список (профиль, меню кабинета):
   .sblock > div > .sblock-btn-block-title + .sblock-btn-block > .sblock-btn-block-ico
     + .sblock-btn-block-body (> .sblock-btn-block-name + значение) + стрелка
   ========================================================================== */
.sblock {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex-grow: 1;
    box-sizing: border-box;
    max-width: 400px;
    overflow: hidden;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
}
.sblock > div { width: 100%; }

.sblock-btn-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    box-sizing: border-box;
    width: 100%;
    min-height: 64px;
    padding: 10px var(--sp-4);
    border-bottom: 1px solid var(--c-border);
    color: var(--c-text);
    font-size: 15px;
    cursor: pointer;
    transition: background-color var(--dur) var(--ease);
}
.sblock-btn-block:last-child { border-bottom: none; }
.sblock-btn-block:hover { background-color: var(--c-bg-hover); }

.sblock-btn-block-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: var(--h-sm);
    height: var(--h-sm);
    border-radius: var(--r-md);
    background: var(--c-bg-field);
    color: var(--c-text);
}
.sblock-btn-block-ico svg { max-width: 20px; max-height: 20px; }

.sblock-btn-block-title {
    margin: 18px 0 6px;
    padding: 0 var(--sp-4);
    font-size: var(--fs-lg);
    font-weight: var(--fw-semibold);
}
.sblock-btn-block-body {
    flex-grow: 1;
    min-width: 0;
    color: var(--c-text);
    overflow-wrap: anywhere;
}
.sblock-btn-block-name { color: var(--c-text-2); font-size: var(--fs-sm); }
.sblock-btn-block-danger { color: var(--c-danger); }
.sblock-btn-block-danger .sblock-btn-block-ico { color: var(--c-danger); background: var(--c-danger-soft); }



  
 
  
   .scroll::-webkit-scrollbar {  
      width: 4px;     margin-right: 4px; 
  }
  .scroll::-webkit-scrollbar-track {
      border-radius: 20px;
  background: linear-gradient(180deg, 
        white 0%, 
        #a2a2a2 5%,
        #a2a2a2 95%,
        white 100%);
  
      border-left: 1px solid white;
      border-right: 1px solid white;
  }
  .scroll::-webkit-scrollbar-thumb {
      background-color: #a0a0a0;    /* цвет плашки */
      border-radius: 20px;       /* закругления плашки */

  }

 

/* ==========================================================================
   Страница «Контакты» (static_pages/templ/contact_ru.html)
   ========================================================================== */
.ui-contact { max-width: 880px; }
.ui-contact-title { margin: 0 0 var(--sp-2); font-size: var(--fs-h1, 28px); font-weight: var(--fw-semibold); }
.ui-contact-lead { margin: 0 0 var(--sp-5); color: var(--c-text-2); font-size: var(--fs-md); }

.ui-contact-cta {
    display: flex;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-4) var(--sp-5);
    border-radius: var(--r-lg);
    background: var(--c-ink);
    color: #fff;
    text-decoration: none;
    margin-bottom: var(--sp-6);
    transition: background-color var(--dur) var(--ease);
}
.ui-contact-cta:hover { background: var(--c-ink-hover); color: #fff; }
.ui-contact-cta-ico { flex: none; width: 44px; height: 44px; border-radius: var(--r-md); background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; }
.ui-contact-cta-ico svg { width: 22px; height: 22px; }
.ui-contact-cta-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ui-contact-cta-body b { font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ui-contact-cta-body span { font-size: var(--fs-sm); opacity: .75; }
.ui-contact-arrow { flex: none; width: 20px; height: 20px; opacity: .7; }

.ui-contact-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--sp-6) var(--sp-8); }
.ui-contact-h { margin: 0 0 var(--sp-3); font-size: var(--fs-lg); font-weight: var(--fw-semibold); }

.ui-contact-row {
    display: flex;
    align-items: center;
    gap: var(--sp-3);
    margin: 0 calc(-1 * var(--sp-3));
    padding: var(--sp-2) var(--sp-3);
    border-radius: var(--r-md);
    color: var(--c-text);
    text-decoration: none;
}
.ui-contact-row:hover { background: var(--c-bg-hover); color: var(--c-text); }
.ui-contact-ico { flex: none; width: 40px; height: 40px; border-radius: var(--r-sm); background: var(--c-bg-field); display: flex; align-items: center; justify-content: center; }
.ui-contact-ico svg { width: 20px; height: 20px; }
.ui-contact-body { display: flex; flex-direction: column; min-width: 0; }
.ui-contact-label { font-size: 12px; color: var(--c-text-3); }
.ui-contact-value { font-size: var(--fs-md); font-weight: var(--fw-semibold); overflow-wrap: anywhere; }

.ui-contact-hours { display: flex; flex-direction: column; }
.ui-contact-hours > div { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--c-border); font-size: var(--fs-md); }
.ui-contact-hours > div:last-child { border-bottom: 0; }
.ui-contact-hours span { color: var(--c-text-2); }
.ui-contact-note { margin: var(--sp-2) 0 0; color: var(--c-text-3); font-size: var(--fs-sm); }

.ui-contact-dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px var(--sp-4); margin: 0; font-size: var(--fs-md); }
.ui-contact-dl dt { color: var(--c-text-2); }
.ui-contact-dl dd { margin: 0; font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.ui-contact-dl .is-mono { font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.ui-contact-addr { margin: 0; line-height: 1.6; font-size: var(--fs-md); }

@media (max-width: 520px) {
    .ui-contact-grid { grid-template-columns: 1fr; }
    .ui-contact-cta { padding: var(--sp-4); }
}


  pre{
      max-width: 100%;
      font-size: 12px;border-radius: 5px;
      border: 1px solid #0095ff;
      line-height: 14px;
      background: #f7fbff;
      padding: 10px;
  }

  body {
      font-family: var(--font);
      color: var(--c-text);
      font-size: 13px;
    -webkit-tap-highlight-color: transparent;
      margin: 0;
      padding: 0;
      height: 100%;
      overflow: hidden;

  }
  html{
      margin: 0;
      padding: 0;
      height: 100%;
      overflow: hidden;
  }


  a {
      -webkit-tap-highlight-color: transparent;
      tap-highlight-color: transparent;
      text-decoration: none;
      color:  var( --main-color);
  }
  a:hover  {
      color: var(--c-brand-hover);
  }

  .adev  {
      border-bottom: 1px solid purple;
  }


  /* переменные :root перенесены в 00_tokens.xhtml */

  @media (min-width: 441px) {




      .auth_wrap{
          border:1px solid var(--main-color-gray);
          border-radius: 15px;
          padding-left:20px!important;
          padding-right:20px!important;
      }


  }
  @media (min-width: 640px) {
      .sigma_wrap{
          padding-left:0px!important;
          padding-right:0px!important;

      }
      .beta_main_wrap{
          width: initial!important;
          padding-left:  20px!important;
          padding-right:  20px!important;
      }

      .beta_botton_menu{
          display: none!important;
      }
      .beta_body_flex{
          height: 100%!important;
   
      }
      .beta_bottom_div{
          display: flex!important;
      }
  }


  @media (min-width: 1200px) {


      .sigma_rwrap{
          padding-left:10px!important;
          padding-right:10px!important;
      }

  }
  .sigma_wrap{
      padding-left:  10px;
      padding-right:  10px;
  }

  .sigma_rwrap{

      padding-left:  0px;
      padding-right:  0px;

  }
  .auth_wrap{
      margin: 0 auto;
      margin-top:10%;
         background: white;
      max-width: 340px;
       border-radius: 10px;
      padding-left: 10px;
      padding-right: 10px;
  }



  .beta_main_wrap{
      flex-grow: 1;
      max-width: var(--top_wraper_max-width);
      width: 100%;
      margin-bottom: 40px;
      padding-left: 0px;
      padding-right:0px;
  }
  .beta_content{
margin-top:  var(--content-margin-top);

      flex-grow: 1;
      width: 100%;
      max-width:1200px;
      min-width:320px;
  }

  .beta_content_standart_wrap {

  }

  .beta_botton_menu{
      height: 50px;
      display: flex;
      gap: 5px;
      color: #000;
      justify-content: space-evenly;
      align-items: center;
      flex-wrap: nowrap;
      min-width: 320px;
      max-width: 500px;
      width: 100%;
      background: #fff;
      transition: all .3s;
      border-top: 1px solid var(--main-color-gray);
  }
  .beta_botton_menu_div{
      width:42px;
      height: 32px;
      align-items: center;
      justify-content: center;
      fill: #ffffff;
      display: flex ;
      font-size: 11px;
      flex-wrap: wrap;
      padding: 10px;
      border-radius: 10px;
  }
  .beta_botton_menu_div_active{
      font-weight: 600;
      color:  var( --main-color);
  }

  .beta_botton_menu_div > div > svg{
      width: 16px;
      height: 16px;
  }
  .beta_body{  
       
      display: flex ;
      margin: 0 auto;
      background-color:#fff;
      justify-content: center;
      flex-wrap: wrap;

  }
  .beta_body_flex{
      width:100%;
      overflow-y: auto;  scrollbar-gutter: stable;
      overflow-x: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
background: var(--c-bg-page);
      position: relative;
      height: calc(100% - 50px);
  }


  .beta_toppanel_wrap{

      display: flex;
      height: var(--top_height);
      justify-content: center;

      transition: all .3s;
  }
  .beta_toppanel{
      max-width: var(--top_wraper_max-width);
      width: var(--top_wraper_width);

      min-width: 300px;

      height: var(--top_height);

      flex-grow: 1;

      display: flex;
      justify-content: space-between;
      align-items: center;
      transition: all .3s;
      border-bottom: 0px solid var(--main-color-gray);
  }
  .beta_bottom_div{
      max-width: var(--top_wraper_max-width);
      width: var(--top_wraper_width);

      min-width:320px;
      padding-left: 10px;
      padding-right: 10px;

      display: flex;
      justify-content: space-between;
      align-items: center;
      transition: all .3s;
  }
  .beta_bottom{
      background-color:#f3f3f3;
      display: flex;
      justify-content: center;
      width:100%;

  }


  .beta_logo_a{

      display: block;
  }
  .beta_logo_img{
      margin: 0px 0px 0 0px;
      height: var(--top_logo_img_height);
      transition: all .3s;

      padding-top: 5px;
      padding-bottom: 5px;
      padding-right: 5px;
  }
  .beta_topmenu{
      width: 100%;
      padding-left: 20px;
  }


  .beta_topmenu_div .nav-active{
      border-bottom: 2px solid  var( --main-color);
      height: calc(var(--top_height) - 2px);

      color:  var( --main-color);

  }
  .beta_topmenu_div{
      display: flex ;

      flex-wrap: wrap;
      align-items: flex-start;
      height: var(--top_height);
      gap: 5px;

      overflow: hidden;

  }



  .beta_topmenu_item{
      height: var(--top_height);
      display: flex;
      align-items: center;
      padding-left: 10px;
      padding-right: 10px;


  }
  .beta_topmenu_item:hover {
      background-color: #eee;

  }

  .beta_topmenu_div a{
      color:#3b3c3d;
      font-size: var(--main-size-standart);
      white-space: nowrap;
  }







  @media (max-width: 550px) {
      .beta_topmenu {
          display: none;
      }
  }


  .right_text_plus {
      display: none;
  }





  @media (min-width: 880px) {
      .right_text_plus {
          display: block;
      }
  }



  .beta_content_standart_wrap{

  }



  





  .beta_text_infobox{
      background: var(--c-bg-field);
      padding: var(--sp-4);
      border-radius: var(--r-lg);
  }
  /* h1–h3 перенесены в 01_base.xhtml (единый вес 600) */
  .beta_text{
      font-size: var(--fs-md);
     
        line-height: 160%;
  }
  .beta_text ul{
      padding-bottom: 5px;
      padding-top: 5px;
      list-style: circle;
  }
  .beta_text li{
      padding-bottom: 5px;
      list-style: circle;
  }
  



 
 



/* ==========================================================================
   Служба поддержки (support/templ/*): форма, переписка по заявке, список
   ========================================================================== */
.ui-sup { max-width: 880px; }
.ui-sup-lead { margin: 0 0 var(--sp-4); color: var(--c-text-2); font-size: var(--fs-md); }
.ui-sup .ui-form-actions { margin-top: var(--sp-5); padding-top: var(--sp-5); }

.ui-sup-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-3);
    padding: var(--sp-5);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-bg);
    margin-bottom: var(--sp-4);
}
.ui-sup-head-main { min-width: 0; }
.ui-sup-subject { margin: 0 0 4px; font-size: var(--fs-lg); font-weight: var(--fw-semibold); overflow-wrap: anywhere; }
.ui-sup-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--c-text-2); font-size: var(--fs-sm); }
.ui-sup-status {
    flex: none;
    padding: 3px 10px;
    border-radius: var(--r-pill);
    font-size: 12px;
    font-weight: var(--fw-semibold);
    white-space: nowrap;
    background: var(--c-warning-soft);
    color: var(--c-warning-text);
}
.ui-sup-status.is-answered { background: var(--c-success-soft); color: var(--c-success-text); }
.ui-sup-status.is-closed { background: var(--c-bg-field); color: var(--c-text-2); }

.ui-sup-link { margin: 0 0 var(--sp-4); }
.ui-sup-link-row { display: flex; gap: var(--sp-2); margin-top: var(--sp-2); }
.ui-sup-link-row .sigma-form { flex: 1; min-width: 0; height: var(--h-sm); font-size: var(--fs-sm); }

.ui-sup-thread { display: flex; flex-direction: column; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.ui-sup-msg {
    max-width: 85%;
    align-self: flex-end;
    padding: var(--sp-3) var(--sp-4);
    border-radius: var(--r-lg) var(--r-lg) 4px var(--r-lg);
    background: var(--c-bg-field);
}
.ui-sup-msg.is-admin {
    align-self: flex-start;
    border-radius: var(--r-lg) var(--r-lg) var(--r-lg) 4px;
    background: var(--c-bg);
    border: 1px solid var(--c-border);
}
.ui-sup-msg-head { display: flex; gap: var(--sp-2); align-items: baseline; margin-bottom: 4px; font-size: var(--fs-sm); }
.ui-sup-msg-head span { color: var(--c-text-3); font-size: 12px; }
.ui-sup-msg-text { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.5; font-size: var(--fs-md); }

.ui-sup-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: var(--sp-3); }
.ui-sup-linkbtn { border: 0; background: none; padding: 0; font: inherit; font-size: var(--fs-sm); cursor: pointer; }
.ui-sup-closed { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); margin-top: 0; }
.ui-sup .ui-chat-row .ui-sup-status { margin-left: auto; }

@media (max-width: 520px) {
    .ui-sup-msg { max-width: 100%; }
    .ui-sup-head { padding: var(--sp-4); }
}
.ui-sup-thumb.is-doc { width: 150px; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 8px 26px 8px 10px; background: var(--c-bg-field); }
.ui-sup-thumb.is-doc b { color: var(--c-brand); font-size: 12px; }
.ui-sup-thumb.is-doc i { font-style: normal; font-size: 12px; color: var(--c-text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-sup-docs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ui-sup-doc { display: inline-flex; align-items: center; gap: 8px; max-width: 260px; padding: 8px 12px; border: 1px solid var(--c-border); border-radius: var(--r-md, 10px); background: var(--c-bg); color: var(--c-text); text-decoration: none; font-size: 13px; }
.ui-sup-doc b { flex: none; color: var(--c-brand); font-size: 12px; }
.ui-sup-doc span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-sup-doc:hover { border-color: var(--c-brand); }
/* изображения к заявке */
.ui-sup-attach { margin-top: 10px; }
.ui-sup-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.ui-sup-thumbs:not(:empty) { margin-bottom: 8px; }
.ui-sup-thumb { position: relative; width: 72px; height: 72px; border-radius: var(--r-md, 10px); overflow: hidden; border: 1px solid var(--c-border); }
.ui-sup-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ui-sup-thumb button { position: absolute; top: 3px; right: 3px; width: 20px; height: 20px; border: 0; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 11px; line-height: 20px; cursor: pointer; padding: 0; }
.ui-sup-add { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px dashed var(--c-border); border-radius: var(--r-md, 10px); color: var(--c-brand); font-size: 14px; font-weight: 600; cursor: pointer; }
.ui-sup-add small { color: var(--c-text-3, #9ca3af); font-weight: 400; }
.ui-sup-imgs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ui-sup-img img { width: 120px; height: 120px; object-fit: cover; border-radius: var(--r-md, 10px); border: 1px solid var(--c-border); display: block; }


/* ==========================================================================
   Вкладки-ссылки: <div class="ui-tabs"><a class="ui-tab ui-tab-active" href="...">Активные</a>...</div>
   ========================================================================== */
.ui-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--sp-1);
    margin: 0 0 var(--sp-5);
    padding: var(--sp-1);
    width: max-content;
    max-width: 100%;
    overflow-x: auto;
    box-sizing: border-box;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
}
.ui-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 var(--sp-4);
    border-radius: var(--r-sm);
    color: var(--c-text-2);
    font-size: var(--fs-md);
    font-weight: var(--fw-semibold);
    white-space: nowrap;
    text-decoration: none;
    transition: background-color var(--dur) var(--ease), color var(--dur) var(--ease);
    -webkit-tap-highlight-color: transparent;
}
.ui-tab:hover { color: var(--c-text); }
.ui-tab-active, .ui-tab-active:hover { background: var(--c-bg); color: var(--c-text); box-shadow: var(--shadow-card); }




/* старая textarea без плавающей подписи (новые — format='textarea' → .beta-container) */
.sigma-textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 140px;
    height: 200px;
    padding: 14px var(--sp-4);
    border: 1px solid transparent;
    border-radius: var(--r-md);
    background: var(--c-bg-field);
    font-family: inherit;
    font-size: var(--fs-lg);
    line-height: 22px;
    color: var(--c-text);
    resize: vertical;
    transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.sigma-textarea:focus {
    outline: none;
    background: var(--c-bg);
    border-color: var(--c-primary);
    box-shadow: var(--focus-ring);
}



/* ==========================================================================
   Шапка сайта (разметка: modules/_block/templ/topright.html, обёртка — templ/index_structure.html)
   .ui-topbar > #topright.ui-topbar-slot > .ui-topbar-in
     .ui-topbar-logo  .ui-topbar-nav > .ui-topbar-link(.active_nav)  .ui-topbar-actions
   Пункты меню строит _block.php по CONF['module']; активный подсвечивает eva.js (.mod_{mod} → .active_nav)
   ========================================================================== */
.ui-topbar {
    position: sticky; top: 0; z-index: 50;
    flex: none; align-self: stretch; width: 100%; box-sizing: border-box;   /* фон на всю ширину окна, контент — по .ui-topbar-in */
    height: var(--top_height);
    background: var(--c-bg);
    border-bottom: 1px solid var(--c-border);
}
.ui-topbar-slot { height: 100%; }
.ui-topbar-in {
    display: flex; align-items: center; gap: var(--sp-6);
    box-sizing: border-box; height: 100%;
    max-width: 1240px; margin: 0 auto; padding: 0 20px;   /* = .beta_main_wrap: 1200px контента + 20px поля, края совпадают с контентом */
}
.ui-topbar-logo { flex: none; display: flex; align-items: center; height: 100%; }
.ui-topbar-logo img { display: block; height: var(--top_logo_img_height); max-width: 200px; width: auto; object-fit: contain; }

.ui-topbar-nav { display: flex; align-items: stretch; gap: var(--sp-1); height: 100%; min-width: 0; overflow: hidden; }
.ui-topbar-link {
    position: relative; display: flex; align-items: center; padding: 0 var(--sp-3);
    color: var(--c-text-2) !important; font-size: var(--fs-md); font-weight: var(--fw-semibold);
    text-decoration: none; white-space: nowrap; transition: color var(--dur) var(--ease);
}
.ui-topbar-link:hover { color: var(--c-text) !important; }
.ui-topbar-link.active_nav { color: var(--c-text) !important; }
.ui-topbar-link.active_nav::after {
    content: ""; position: absolute; left: var(--sp-3); right: var(--sp-3); bottom: -1px;
    height: 2px; border-radius: 2px 2px 0 0; background: var(--c-brand);
}

.ui-topbar-actions { display: flex; align-items: center; gap: var(--sp-2); margin-left: auto; flex: none; }
.ui-topbar-add {
    display: inline-flex; align-items: center; gap: var(--sp-2); height: var(--h-sm); padding: 0 var(--sp-4);
    border-radius: var(--r-md); background: transparent; color: var(--c-brand) !important;
    font-size: var(--fs-md); font-weight: var(--fw-semibold); text-decoration: none; white-space: nowrap;
}
.ui-topbar-add:hover { background: var(--c-brand-soft); color: var(--c-brand-hover) !important; }
.ui-topbar-add svg { width: 18px; height: 18px; flex: none; }
.ui-topbar-login {
    display: inline-flex; align-items: center; height: var(--h-sm); padding: 0 var(--sp-4);
    border-radius: var(--r-md); background: var(--c-bg-field); color: var(--c-text) !important;
    font-size: var(--fs-md); font-weight: var(--fw-semibold); text-decoration: none;
}
.ui-topbar-login:hover { background: var(--c-bg-field-hover); }
.ui-topbar-user {
    display: inline-flex; align-items: center; gap: var(--sp-2); height: var(--h-sm); padding: 0 var(--sp-2) 0 4px;
    border-radius: var(--r-pill); color: var(--c-text) !important; text-decoration: none; max-width: 200px;
}
.ui-topbar-user:hover, .ui-topbar-user.active_nav { background: var(--c-bg-field); }
.ui-topbar-ava {
    flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%;
    background: var(--c-bg-field) center / cover no-repeat; color: var(--c-text-2); font-size: var(--fs-sm); font-weight: var(--fw-bold);
}
.ui-topbar-uname { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-md); font-weight: var(--fw-semibold); }
.ui-topbar-menu {
    display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0;
    border: 0; border-radius: var(--r-md); background: transparent; color: var(--c-text); cursor: pointer;
}
.ui-topbar-menu:hover { background: var(--c-bg-field); }
.ui-topbar-menu { padding: 0 !important; box-sizing: border-box; flex: none; }
.ui-topbar-menu svg { flex: none; width: 24px !important; height: 24px !important; min-width: 24px; }
.ui-topbar-menu .svg_btn_close { display: none; }
.ui-topbar-menu.btn_slidemenu_opened .svg_btn_menu { display: none; }
.ui-topbar-menu.btn_slidemenu_opened .svg_btn_close { display: block; }

@media (max-width: 1000px) {
    .ui-topbar-uname { display: none; }
    .ui-topbar-user { padding: 0; }
}
@media (max-width: 860px) {
    .ui-topbar-nav { display: none; }            /* пункты есть в выдвижном меню */
}
@media (max-width: 560px) {
    .ui-topbar-in { gap: var(--sp-3); padding: 0 var(--sp-3); }
    .ui-topbar-add { width: 40px; padding: 0; justify-content: center; }
    .ui-topbar-add span { display: none; }
    .ui-topbar-logo img { max-width: 140px; }
}

/* Контент под шапкой — на всю ширину до 1240px, по краям как у шапки.
   Шапка вынесена из .beta_main_wrap, и старое правило «width: initial !important» (≥640px)
   сжимало колонку контента по содержимому — короткие страницы (например /add/) становились узкими. */
.beta_body_flex > .beta_main_wrap { width: 100% !important; max-width: 1240px !important; box-sizing: border-box; }

