/* card.css */
.addr-head{display:flex;align-items:center;justify-content:space-between;gap:10px 12px;margin-bottom:14px;flex-wrap:wrap;}
.addr-head .section-title{margin:0;}
.addr-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;position:relative;}
.share-chip{border-color:var(--border);background:var(--surface);color:var(--ink-2);list-style:none;}
.share-chip::-webkit-details-marker{display:none;}
.share-chip:hover{background:var(--paper);border-color:var(--ink-2);color:var(--ink);}
.addr-actions > details{position:static;}
.share-popover{
  position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:280px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  box-shadow:var(--shadow-pop);padding:14px;display:flex;flex-direction:column;gap:12px;
  box-sizing:border-box;
}
@media (max-width:720px){
  .addr-head{position:relative;}
  .addr-actions{position:static;}
  .share-popover{left:0;right:0;width:auto;}
}
/* ---------- сетка карточки: контент + сайдбар ---------- */
.layout{
  display:grid;
  grid-template-columns: minmax(0,1fr) 320px;
  gap:20px;
  align-items:start;
  min-width:0;
  max-width:100%;
}
.stack{display:flex;flex-direction:column;gap:16px;min-width:0;max-width:100%;}
.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:70px;min-width:0;}

.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card);
  padding:22px 24px;
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.card + .card{margin-top:0;}
.section-title{
  font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin:0 0 14px;
  display:flex;align-items:center;gap:8px;
}
.section-title svg{width:15px;height:15px;stroke:var(--faint);}

/* ---------- 1. хлебные крошки-рубрики ---------- */
.crumb-card{padding:16px 24px;}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.crumb-pill{
  background:var(--accent-soft);color:var(--accent-ink);
  padding:5px 12px;border-radius:100px;font-size:12.5px;font-weight:600;
  white-space:nowrap;text-decoration:none;transition:background .15s,color .15s,border-color .15s;
}
a.crumb-pill:hover{background:var(--accent);color:#fff;}
.crumb-pill.sub{background:var(--paper);color:var(--muted);border:1px solid var(--border);}
a.crumb-pill.sub:hover{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent);}
/* «Вы на верном пути» — под картой, справа от кнопок навигации */
.path-ok{
  margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--good);
  font-size:12.5px;font-weight:600;white-space:nowrap;align-self:center;
}
.path-ok svg{width:14px;height:14px;stroke:var(--good);}

/* ---------- 2. заголовок компании ---------- */
.hero{padding-top:20px;padding-bottom:20px;}
.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.org-title{font-size:26px;font-weight:800;line-height:1.22;margin:0 0 8px;letter-spacing:-.01em;}
.org-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:13px;align-items:center;}
.org-id{color:var(--faint);overflow-wrap:anywhere;word-break:break-all;max-width:100%;}
/* ---------- копируемое поле: значение + квадратик "copy" ---------- */
.field{display:flex;flex-direction:column;gap:3px;}
.field-label{font-size:11.5px;color:var(--faint);font-weight:600;text-transform:uppercase;letter-spacing:.04em;}
.copy-row{display:flex;align-items:center;gap:8px;min-width:0;}
.copy-row .val{font-size:14.5px;color:var(--ink-2);word-break:break-word;}
/* ---------- контакты: пиктограммы связи ---------- */
.contact-grid{display:flex;flex-direction:column;gap:14px;}
.contact-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
/* ---------- адрес ---------- */
/* адрес — ровно 2 строки: строка региона/района и строка города/адреса/индекса */
.addr-lines{margin-bottom:16px;}
.addr-line{
  display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  padding:5px 0;
}
.addr-line1{color:var(--muted);font-size:13.5px;}
.addr-line2{font-size:16px;font-weight:600;color:var(--ink);}
.addr-line2 .idx{font-family:var(--font-mono);font-weight:500;color:var(--muted);font-size:13.5px;}
.addr-sep{color:var(--faint);}
.addr-line .copy-btn{margin-left:4px;}
.map-wrap{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);}
.map-tabs{
  display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--paper);
}
.map-tab{
  flex:1;padding:10px 12px;border:none;background:transparent;cursor:pointer;
  font-family:inherit;font-size:13.5px;font-weight:700;color:var(--muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:.15s;
}
.map-tab:hover{color:var(--ink-2);}
.map-tab.is-active{color:var(--accent-ink);border-bottom-color:var(--accent);background:var(--surface);}
.map-canvas{
  height:280px;position:relative;background:var(--paper);
}
.map-canvas.is-hidden,
.map-canvas[hidden]{display:none;}
.map-frame{
  width:100%;height:100%;border:0;display:block;
}
.map-coords{
  display:flex;justify-content:flex-start;align-items:center;gap:6px;flex-wrap:wrap;
  padding:12px 14px;border-top:1px solid var(--border);background:var(--paper);
}
.route-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;margin-bottom:0;justify-content:flex-start;align-items:center;}
.route-btn{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:100px;
  border:1px solid var(--border);background:var(--surface);text-decoration:none;
  font-size:13px;font-weight:700;color:var(--ink-2);transition:.15s;max-width:100%;
}
.route-btn:hover{border-color:var(--ink);background:var(--paper);color:var(--ink);}
.route-btn svg{width:18px;height:18px;flex:0 0 auto;border-radius:4px;}
.route-btn span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ---------- часы работы ---------- */
.hours-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.hours-table td{padding:6px 4px;border-bottom:1px solid var(--border-soft);}
.hours-table tr:last-child td{border-bottom:none;}
.hours-table td:first-child{color:var(--muted);width:40%;}
.hours-table tr.today td{font-weight:700;color:var(--ink);}
.hours-table tr.today td:first-child{color:var(--accent-ink);}

/* ---------- часы работы: сворачиваемый список ---------- */
.hours-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;}
.hours-details summary::-webkit-details-marker{display:none;}
.hours-summary-title{
  flex:1;display:flex;align-items:center;gap:8px;
  font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);
}
.hours-summary-title svg{width:15px;height:15px;stroke:var(--faint);flex:0 0 auto;}
.hours-today-hint{font-size:13px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:normal;}
.hours-chev{width:16px;height:16px;stroke:var(--faint);transition:transform .18s;flex:0 0 auto;}
.hours-details[open] .hours-chev{transform:rotate(180deg);}
.hours-details .hours-table{margin-top:14px;}

/* ---------- оплата ---------- */
/* оплата — тихая строка "иконка + подпись", без боксов; как метаданные, а не как отдельная фича */
.pay-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;}
.pay-item{
  display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 0;color:var(--muted);
  font-size:13.5px;font-weight:500;
}
.pay-item svg{width:17px;height:17px;stroke:var(--faint);flex:0 0 auto;}
.pay-item + .pay-item{border-left:1px solid var(--border-soft);padding-left:12px;}

/* соцсети — тихая строка внутри контактов, без кружков-рамок, монохром → цвет при наведении */
.social-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:2px;}
.social-inline .cap{font-size:12.5px;color:var(--faint);margin-right:2px;}
.soc{
  width:30px;height:30px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;text-decoration:none;transition:.15s;
  background:var(--paper);
}
.soc:hover{color:#fff;transform:translateY(-1px);}
.soc svg{width:14px;height:14px;}

/* ---------- сайдбар: QR / vCard ---------- */
.qr-box{text-align:center;}
.qr-img{
  width:150px;height:150px;margin:0 auto 12px;border-radius:12px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;background:
    repeating-conic-gradient(#002147 0% 25%, #fff 0% 50%) 0 0/12px 12px;
}
.qr-note{font-size:12.5px;color:var(--muted);margin-bottom:2px;}
/* ---------- шеринг: одна кнопка, раскрывающая панель (details/summary — доступно и без JS) ---------- */
.share-details{}
.share-details summary{list-style:none;cursor:pointer;}
.share-details summary::-webkit-details-marker{display:none;}
.share-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.share-btn{
  width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--paper);color:var(--muted);transition:.15s;flex:0 0 auto;
}
.share-btn svg{width:17px;height:17px;}
.share-btn:hover{transform:translateY(-2px);color:#fff;}
.share-btn.b-wa:hover{background:var(--wa);}
.share-btn.b-tg:hover{background:var(--tg);}
.share-btn.b-vk:hover{background:var(--vk);}
.share-btn.b-ok:hover{background:var(--ok);}
.share-btn.b-vb:hover{background:var(--vb);}
.share-btn.b-more:hover{background:var(--ink);}
.copy-link-row{
  display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:100px;
  overflow:hidden;background:var(--paper);
}
.copy-link-row .url{
  flex:1;min-width:0;padding:9px 14px;font-size:12.5px;color:var(--muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
.copy-link-row button{
  flex:0 0 auto;border:none;background:var(--ink);color:#fff;padding:9px 16px;font-weight:700;
  font-size:12.5px;cursor:pointer;display:flex;align-items:center;gap:6px;
}
.copy-link-row button svg{width:13px;height:13px;}
.copy-link-row button.done{background:var(--good);}

/* ---------- рекламный блок ---------- */
.ad-card{
  border:1.5px dashed #CDD4E0;background:repeating-linear-gradient(135deg,#FAFBFD,#FAFBFD 10px,#F3F5F9 10px,#F3F5F9 20px);
  border-radius:var(--radius-lg);padding:0;overflow:hidden;
}
.ad-label{
  display:flex;justify-content:space-between;align-items:center;padding:8px 14px;font-size:10.5px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-weight:700;
}
.ad-body{
  margin:0 14px 14px;height:250px;border-radius:12px;background:var(--surface);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--faint);
  font-size:13px;text-align:center;
}
.ad-body b{color:var(--muted);font-family:var(--font-display);}
.ad-body-inline{height:120px;}

/* ---------- футер-карточка / вторая случайная орг-я ---------- */
.foot-links{display:flex;justify-content:space-between;gap:10px;padding:14px 4px 0;font-size:13px;color:var(--muted);flex-wrap:wrap;}
.foot-links a{font-weight:600;color:var(--ink-2);text-decoration:none;}
.foot-links a:hover{color:var(--accent-ink);}

/* ---------- явное сокрытие отсутствующих полей ---------- */
[data-empty="true"]{display:none !important;}

/* ==========================================================================
   АДАПТИВНАЯ ВЕРСИЯ
   ========================================================================== */
@media (max-width: 980px){
  .layout{grid-template-columns:1fr;}
  .side{position:static;}
  .side{order:3;}
  /* на мобильном QR полностью скрыт, вместо него — крупная кнопка vCard в самом верху сайдбара */
  .qr-only-desktop{display:none;}
}
@media (max-width: 720px){
  .card{padding:18px 16px;border-radius:16px;overflow:hidden;}
  .org-title{font-size:21px;overflow-wrap:anywhere;}
  .addr-line2{font-size:15px;}
  .hero-top{flex-direction:row;align-items:flex-start;gap:10px;min-width:0;}
  .hero-top > div:first-child{min-width:0;flex:1 1 auto;}
  .hero-top .hours-badge,
  .hero-top .stamp-closed{flex:0 0 auto;margin-left:auto;max-width:46%;}
  .stamp-closed{padding:5px 8px;font-size:11px;transform:none;white-space:normal;text-align:center;}
  .stamp-closed .stamp-until{font-size:10px;}
  .ad-body{height:180px;}
  .path-ok{
    margin-left:auto;
    white-space:normal;
  }
  .crumbs{max-width:100%;}
  .map-wrap,.map-canvas,.map-frame{max-width:100%;}
  .route-btn{font-size:12.5px;padding:8px 11px;}
  .addr-actions{flex-wrap:wrap;max-width:100%;}
}
@media (max-width: 420px){
  .vcf-chip span{display:none;}
  .vcf-chip{padding:8px;}
}

.source-copy {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--ink-2);
  font: inherit;
  text-align: left;
  word-break: break-all;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.source-copy:hover { color: var(--accent); }
.source-copy.done { color: var(--good); text-decoration: none; }
.share-chip {
  border-color: var(--border);
  background: var(--surface);
  color: var(--ink-2);
  list-style: none;
}
.share-chip::-webkit-details-marker { display: none; }
