/* ==================================================================
   Public pet passport — a durable profile, not a generic web form.
   This sheet deliberately uses quiet surfaces and real information.
   ================================================================== */

.profile-wrap {
  padding: clamp(28px, 4.5vw, 62px) 0 clamp(64px, 9vw, 118px) !important;
  background:
    radial-gradient(ellipse 44% 31% at 87% 9%, rgba(232,160,68,.10), transparent 70%),
    radial-gradient(ellipse 34% 22% at 9% 34%, rgba(232,160,68,.035), transparent 76%);
}
.profile-wrap .container { max-width: 1200px; }

.passport-rail {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 15px;
  color: rgba(247,243,235,.58);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.passport-rail-title { display: inline-flex; align-items: center; gap: 10px; }
.passport-rail-mark {
  width: 20px;
  height: 1px;
  background: linear-gradient(90deg, var(--accent), transparent);
}
.passport-rail-code { color: rgba(247,243,235,.38); letter-spacing: .14em; }

.passport-alert {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  margin: 0 0 15px !important;
  padding: 12px 16px 12px 34px !important;
  border: 1px solid rgba(232,160,68,.25) !important;
  border-radius: 12px !important;
  background: rgba(232,160,68,.075) !important;
  color: #f6d7ad !important;
  font-size: 13px;
}
.passport-alert::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent-2);
  transform: translateY(-50%);
}

/* Top profile card */
.profile-wrap .profile-card.compact-profile {
  display: grid !important;
  grid-template-columns: minmax(320px, .83fr) minmax(0, 1.17fr) !important;
  overflow: hidden;
  margin: 0 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #151515 0%, #0d0e0e 58%, #11100e 100%) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.42) !important;
}
.profile-wrap .left-stack.passport-photo-stack {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding: 16px !important;
  border-right: 1px solid var(--line);
  background: linear-gradient(160deg, rgba(232,160,68,.10), rgba(255,255,255,.02) 55%, rgba(0,0,0,.2));
}
.profile-wrap .profile-photo-wrap { min-height: 0; }
.profile-wrap .profile-photo.compact-photo {
  position: relative;
  height: clamp(360px, 38vw, 520px) !important;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  background: #070707 !important;
}
.profile-wrap .profile-photo.compact-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.55) 100%);
}
.profile-wrap .profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center !important;
}
.photo-passport-label {
  position: absolute;
  z-index: 1;
  left: 16px;
  right: 16px;
  bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.photo-passport-label b { color: var(--accent-2); font-weight: 800; }

.profile-wrap .passport-qr-card {
  margin: 14px 0 0 !important;
  padding: 17px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 14px !important;
  background: rgba(0,0,0,.24) !important;
}
.passport-qr-card .mini-brand-title { color: var(--ink) !important; font-size: 14px !important; font-weight: 800 !important; }
.passport-qr-card .mini-brand-text { margin-top: 3px; color: var(--ink-soft) !important; font-size: 12px !important; line-height: 1.45; }
.passport-qr-card .qr-panel {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  grid-template-areas: "qr caption" "qr sub" "qr actions";
  column-gap: 13px;
  row-gap: 3px;
  align-items: center;
  margin-top: 14px;
}
.passport-qr-card .qr-wrap { grid-area: qr; width: 84px; padding: 7px; border-radius: 10px; background: #f5f0e6 !important; }
.passport-qr-card .qr-image { display: block; width: 100%; }
.passport-qr-card .qr-caption { grid-area: caption; color: var(--ink) !important; font-size: 12px !important; font-weight: 750 !important; }
.passport-qr-card .qr-subcaption { grid-area: sub; color: var(--muted) !important; font-size: 10px !important; line-height: 1.35; }
.passport-qr-card .qr-actions { grid-area: actions; display: flex; gap: 7px; margin-top: 4px; }
.passport-qr-card .qr-btn { min-height: 28px; padding: 0 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 10px; font-weight: 750; }
.passport-qr-card .qr-btn:hover { border-color: var(--accent); color: var(--accent-2); }

.profile-wrap .profile-main {
  min-width: 0;
  padding: clamp(28px, 4vw, 54px) !important;
}
.profile-wrap .profile-status {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 15px !important;
  padding: 0 10px;
  border: 1px solid rgba(232,160,68,.28) !important;
  border-radius: 999px !important;
  background: rgba(232,160,68,.09) !important;
  color: #ffd5a0 !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.profile-wrap .profile-title {
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(52px, 6.7vw, 86px) !important;
  line-height: .9 !important;
  letter-spacing: -.075em !important;
}
.profile-wrap .profile-subtitle {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 14px 0 0 !important;
  color: var(--ink-soft) !important;
  font-size: 16px !important;
}
.passport-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 26px;
}
.passport-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 132px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 11px;
  background: rgba(255,255,255,.026);
}
.passport-badge > span:last-child { display: grid; gap: 1px; }
.passport-badge b { color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .03em; }
.passport-badge small { max-width: 150px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.passport-badge-event { border-color: rgba(232,160,68,.25); background: rgba(232,160,68,.075); }
.passport-badge-mark {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
  border: 1px solid var(--accent-2);
  border-radius: 6px;
}
.passport-badge-mark::after { content: ""; position: absolute; inset: 5px; border: 1px solid currentColor; border-radius: 2px; }
.mark-contact { border-radius: 50%; color: #9cd4ad; border-color: #9cd4ad; }
.mark-contact::after { inset: 6px; border-radius: 50%; background: currentColor; }
.mark-event { border-radius: 50% 50% 5px 5px; color: var(--accent-2); }
.mark-event::after { inset: 4px 6px 7px; border-width: 0 1px 1px; border-radius: 0; }

.profile-wrap .contact-box.contact-box-top {
  margin: 0 !important;
  padding: 23px !important;
  border: 1px solid rgba(232,160,68,.30) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(232,160,68,.13), rgba(255,255,255,.025) 66%) !important;
}
.profile-wrap .contact-title { color: var(--ink) !important; font-size: 13px !important; font-weight: 850 !important; letter-spacing: .12em; text-transform: uppercase; }
.profile-wrap .contact-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.profile-wrap .contact-btn {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(0,0,0,.18);
  color: var(--ink);
  font: inherit;
  font-size: 12px;
  font-weight: 750;
  cursor: pointer;
}
.profile-wrap .contact-btn.primary { border-color: transparent; background: linear-gradient(135deg,#ffd18a,#dc8d1a); color: #211100; }
.profile-wrap .contact-btn:hover { border-color: rgba(232,160,68,.55); transform: translateY(-1px); }
.profile-wrap .contact-phone-visible { margin-top: 12px; color: var(--ink-soft) !important; font-size: 12px; }
.profile-wrap .contact-phone-visible a { color: var(--accent-2) !important; font-weight: 750; }
.profile-wrap .found-pet-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.10); }

.profile-wrap .finder-help-box {
  margin: 16px 0 !important;
  padding: 18px 20px !important;
  border: 1px solid var(--line) !important;
  border-left: 2px solid var(--accent) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.025) !important;
}
.profile-wrap .finder-help-title, .profile-wrap .note-title { color: var(--ink) !important; font-size: 13px !important; font-weight: 800 !important; }
.profile-wrap .finder-help-item { color: var(--ink-soft) !important; font-size: 12px !important; }
.profile-wrap .note { padding: 18px 20px !important; border-radius: 12px !important; }
.profile-wrap .info-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; margin-top: 16px; }
.profile-wrap .info-item { min-height: 76px; padding: 13px 14px !important; border: 1px solid var(--line) !important; border-radius: 11px !important; background: rgba(255,255,255,.024) !important; }
.profile-wrap .info-key { color: var(--muted) !important; font-size: 10px !important; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.profile-wrap .info-val { margin-top: 6px; color: var(--ink) !important; font-size: 14px !important; font-weight: 650; }
.profile-wrap .share-box { margin-top: 16px !important; padding: 14px 16px !important; border: 1px dashed rgba(255,255,255,.17) !important; border-radius: 11px !important; background: transparent !important; }
.profile-wrap .share-title { color: var(--muted) !important; font-size: 10px !important; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.profile-wrap .share-url { margin-top: 4px; overflow: hidden; color: var(--ink-soft) !important; font-size: 12px !important; text-overflow: ellipsis; white-space: nowrap; }

/* Event participation: a collectible memory that still respects the pet. */
.profile-wrap .event-heritage {
  display: grid;
  grid-template-columns: minmax(210px, .47fr) minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(232,160,68,.30) !important;
  border-radius: 20px !important;
  background: linear-gradient(125deg, #1a120b, #0e0e0e 62%, #15110c) !important;
  box-shadow: var(--shadow-small);
}
.event-heritage-brand {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
  padding: 24px;
  border-right: 1px solid rgba(232,160,68,.22);
  background: radial-gradient(circle at 25% 15%, rgba(255,213,151,.25), transparent 38%), linear-gradient(145deg, #d89a4d, #5d3818 92%);
}
.partner-logo-canvas {
  display: grid;
  width: min(100%, 166px);
  aspect-ratio: 1;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.13);
  border-radius: 16px;
  background: #f5efe3;
  box-shadow: 0 14px 28px rgba(0,0,0,.20);
}
.partner-logo-canvas img { width: 76%; height: 76%; object-fit: contain; filter: drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
.partner-logo-canvas.logo-is-light { background: #101010; border-color: rgba(255,255,255,.17); }
.partner-logo-canvas.logo-is-colour { background: linear-gradient(135deg, #f6eedf, #d39a51); }
.partner-logo-fallback { color: #1a1007; font: 700 70px/1 Georgia, serif; }
.event-heritage-brand-copy { display: grid; gap: 4px; color: #fff3df; }
.event-heritage-brand-copy span { font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; opacity: .72; }
.event-heritage-brand-copy b { font-size: 14px; line-height: 1.3; }
.event-heritage-content { padding: clamp(26px, 4vw, 46px); }
.event-heritage .commemorative-badge { display: inline-flex; padding: 6px 9px; border: 1px solid rgba(232,160,68,.35); border-radius: 999px; color: #ffd5a0; background: rgba(232,160,68,.10); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.event-heritage .commemorative-title { margin: 16px 0 8px; color: var(--ink) !important; font-size: clamp(29px, 4vw, 50px) !important; line-height: 1 !important; letter-spacing: -.055em; }
.event-heritage .commemorative-title span { color: var(--accent-2); }
.event-heritage-lead { max-width: 570px; margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }
.event-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 27px 0 0; border-top: 1px solid rgba(255,255,255,.10); border-left: 1px solid rgba(255,255,255,.10); }
.event-facts .commemorative-row { display: grid; gap: 5px; min-height: 75px; padding: 13px; border-right: 1px solid rgba(255,255,255,.10); border-bottom: 1px solid rgba(255,255,255,.10); }
.event-facts dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.event-facts dd { margin: 0; color: var(--ink); font-size: 13px; font-weight: 700; line-height: 1.3; }
.event-facts a { color: var(--accent-2); }
.event-facts .event-award { background: rgba(232,160,68,.10); }
.event-heritage .commemorative-text { margin: 18px 0 0 !important; padding: 15px 17px !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 11px !important; background: rgba(255,255,255,.025) !important; color: var(--ink-soft) !important; font-size: 13px; font-style: normal !important; line-height: 1.55; }
.event-heritage .commemorative-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.event-heritage .link-chip { display: inline-flex; min-height: 32px; align-items: center; padding: 0 11px; border: 1px solid rgba(232,160,68,.27) !important; border-radius: 999px; background: rgba(232,160,68,.075) !important; color: var(--accent-2) !important; font-size: 11px; font-weight: 750; }

@media (max-width: 860px) {
  .profile-wrap .profile-card.compact-profile { grid-template-columns: 1fr !important; }
  .profile-wrap .left-stack.passport-photo-stack { border-right: 0; border-bottom: 1px solid var(--line); }
  .profile-wrap .profile-photo.compact-photo { height: min(82vw, 540px) !important; }
  .profile-wrap .event-heritage { grid-template-columns: 1fr; }
  .event-heritage-brand { min-height: 190px; flex-direction: row; align-items: flex-end; border-right: 0; border-bottom: 1px solid rgba(232,160,68,.22); }
  .partner-logo-canvas { width: 118px; }
}

@media (max-width: 600px) {
  .profile-wrap { padding-top: 22px !important; }
  .passport-rail-code { display: none; }
  .profile-wrap .profile-card.compact-profile, .profile-wrap .event-heritage { border-radius: 16px !important; }
  .profile-wrap .profile-card.compact-profile { display: flex !important; flex-direction: column; }
  .profile-wrap .left-stack.passport-photo-stack { display: contents !important; }
  .profile-wrap .profile-photo-wrap { order: 1; padding: 10px 10px 0; background: linear-gradient(160deg, rgba(232,160,68,.10), rgba(255,255,255,.02)); }
  .profile-wrap .profile-photo.compact-photo { height: 108vw !important; max-height: 470px; border-radius: 11px !important; }
  .profile-wrap .profile-main { order: 2; padding: 28px 20px 24px !important; }
  .profile-wrap .passport-qr-card { order: 3; margin: 0 10px 10px !important; padding: 14px !important; }
  .profile-wrap .profile-title { font-size: clamp(49px, 16vw, 66px) !important; }
  .profile-wrap .profile-subtitle { font-size: 14px !important; }
  .passport-badges { gap: 7px; margin: 18px 0 20px; }
  .passport-badge { flex: 1 1 142px; min-width: 0; }
  .profile-wrap .contact-box.contact-box-top { padding: 18px !important; }
  .profile-wrap .contact-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .profile-wrap .contact-btn { width: 100%; min-width: 0; padding: 0 11px; font-size: 11px; }
  .profile-wrap .contact-btn.primary, .profile-wrap .found-pet-btn { grid-column: 1 / -1; }
  .profile-wrap .info-grid { grid-template-columns: 1fr 1fr !important; }
  .passport-qr-card .qr-panel { grid-template-columns: 72px minmax(0, 1fr); }
  .passport-qr-card .qr-wrap { width: 72px; }
  .event-heritage-brand { min-height: 158px; padding: 18px; }
  .partner-logo-canvas { width: 102px; border-radius: 13px; }
  .event-heritage-content { padding: 25px 20px; }
  .event-heritage .commemorative-title { font-size: 32px !important; }
  .event-facts { grid-template-columns: 1fr 1fr; margin-top: 21px; }
  .event-facts .commemorative-row { min-height: 67px; padding: 11px; }
}

/* ════ Фикс памятного блока: логотип съезжал из-за legacy .commemorative-logo (h:68px) ════ */
.profile-wrap .event-heritage-brand{
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 20px !important;
  min-height: 300px !important;
  padding: 30px !important;
}
.profile-wrap .event-heritage .partner-logo-canvas,
.profile-wrap .event-heritage .commemorative-logo{
  width: 128px !important;
  height: 128px !important;
  min-height: 128px !important;
  aspect-ratio: 1 / 1 !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: #fbf5ea !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  box-shadow: 0 16px 32px -14px rgba(0,0,0,.5) !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}
.profile-wrap .event-heritage .partner-logo-canvas img{
  width: 100% !important; height: 100% !important; object-fit: contain !important;
}
.profile-wrap .event-heritage-brand-copy{ gap: 5px !important; }
.profile-wrap .event-heritage-brand-copy span{ color: rgba(28,18,6,.66) !important; opacity: 1 !important; }
.profile-wrap .event-heritage-brand-copy b{ color: #2a1a08 !important; font-size: 16px !important; font-weight: 800 !important; }

@media (max-width: 880px){
  .profile-wrap .event-heritage-brand{ flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 16px !important; min-height: 0 !important; padding: 20px !important; }
  .profile-wrap .event-heritage .partner-logo-canvas,
  .profile-wrap .event-heritage .commemorative-logo{ width: 84px !important; height: 84px !important; min-height: 84px !important; padding: 11px !important; border-radius: 15px !important; }
}

/* ════ Золотая панель: оживляем — блик + крупнее лого/текст (2026-06-23) ════ */
.profile-wrap .event-heritage-brand{
  position: relative !important;
  overflow: hidden !important;
  gap: 22px !important;
}
/* медленный световой блик по золоту */
.profile-wrap .event-heritage-brand::after{
  content: ""; position: absolute; top: 0; bottom: 0; width: 55%;
  left: -60%; pointer-events: none; z-index: 0;
  background: linear-gradient(105deg, transparent, rgba(255,244,220,.42) 50%, transparent);
  filter: blur(4px);
  animation: heritageSheen 6.5s ease-in-out infinite;
}
@keyframes heritageSheen{
  0%, 64% { left: -60%; }
  100% { left: 130%; }
}
.profile-wrap .event-heritage-brand > *{ position: relative; z-index: 1; }

/* лого крупнее + мягкое «дыхание» свечения */
.profile-wrap .event-heritage .partner-logo-canvas,
.profile-wrap .event-heritage .commemorative-logo{
  width: 150px !important; height: 150px !important; min-height: 150px !important;
  padding: 15px !important; border-radius: 24px !important;
  animation: heritageLogo 5s ease-in-out infinite !important;
}
@keyframes heritageLogo{
  0%, 100% { box-shadow: 0 16px 32px -14px rgba(0,0,0,.5), 0 0 0 0 rgba(255,234,180,0); transform: translateY(0); }
  50% { box-shadow: 0 22px 40px -16px rgba(0,0,0,.55), 0 0 30px -4px rgba(255,234,180,.45); transform: translateY(-3px); }
}
/* подписи крупнее */
.profile-wrap .event-heritage-brand-copy span{ font-size: 11px !important; letter-spacing: .16em !important; }
.profile-wrap .event-heritage-brand-copy b{ font-size: 19px !important; letter-spacing: -.01em !important; }

@media (prefers-reduced-motion: reduce){
  .profile-wrap .event-heritage-brand::after,
  .profile-wrap .event-heritage .partner-logo-canvas{ animation: none !important; }
}
@media (max-width: 880px){
  .profile-wrap .event-heritage .partner-logo-canvas,
  .profile-wrap .event-heritage .commemorative-logo{ width: 92px !important; height: 92px !important; min-height: 92px !important; }
  .profile-wrap .event-heritage-brand-copy b{ font-size: 16px !important; }
}

/* ════ Переделка анимации золотой панели (убираем полосы) + инфо-сетка (2026-06-23) ════ */

/* выключаем прежний полосатый sheen */
.profile-wrap .event-heritage-brand::after{ display:none !important; animation:none !important; content:none !important; }

/* мягкое дышащее золотое свечение — без краёв/полос */
.profile-wrap .event-heritage-brand{
  background:
    radial-gradient(120% 90% at 30% 12%, rgba(255,224,170,.34), transparent 55%),
    radial-gradient(130% 100% at 80% 95%, rgba(120,70,24,.55), transparent 60%),
    linear-gradient(150deg, #d99a4d 0%, #7a4a1f 60%, #4f3015 100%) !important;
}
.profile-wrap .event-heritage-brand::before{
  content:""; position:absolute; inset:-30%; z-index:0; pointer-events:none;
  background: radial-gradient(circle at 50% 50%, rgba(255,240,205,.30), transparent 46%);
  animation: heritageGlow 7s ease-in-out infinite;
}
@keyframes heritageGlow{
  0%,100%{ transform:translate(-10%,-8%) scale(1); opacity:.5; }
  50%{ transform:translate(12%,10%) scale(1.18); opacity:.85; }
}

/* логотип — спокойный, без прыжков (мягкое свечение) */
.profile-wrap .event-heritage .partner-logo-canvas,
.profile-wrap .event-heritage .commemorative-logo{
  animation: heritageLogo2 5.5s ease-in-out infinite !important;
}
@keyframes heritageLogo2{
  0%,100%{ box-shadow:0 18px 34px -16px rgba(0,0,0,.5), 0 0 0 0 rgba(255,236,190,0); }
  50%{ box-shadow:0 22px 40px -16px rgba(0,0,0,.5), 0 0 34px -2px rgba(255,236,190,.5); }
}

@media (prefers-reduced-motion: reduce){
  .profile-wrap .event-heritage-brand::before,
  .profile-wrap .event-heritage .partner-logo-canvas{ animation:none !important; }
}

/* ── Инфо-сетка «Вид/Порода…»: чистая паспорт-таблица вместо коробок ── */
.profile-wrap .info-grid{
  display:grid !important; grid-template-columns:1fr 1fr !important; gap:0 !important;
  margin-top:18px !important; overflow:hidden !important;
  border:1px solid var(--line) !important; border-radius:16px !important;
  background:rgba(255,255,255,.02) !important;
}
.profile-wrap .info-item{
  min-height:0 !important; padding:14px 18px !important;
  border:0 !important; border-radius:0 !important; background:transparent !important;
  border-bottom:1px solid var(--line) !important;
  display:flex !important; flex-direction:column !important; gap:5px !important;
  transition:background .16s ease !important;
}
.profile-wrap .info-item:nth-child(odd){ border-right:1px solid var(--line) !important; }
.profile-wrap .info-item:hover{ background:rgba(232,160,68,.05) !important; }
.profile-wrap .info-key{
  color:rgba(232,160,68,.85) !important; font-size:10px !important; font-weight:800 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important; margin:0 !important;
}
.profile-wrap .info-val{
  margin:0 !important; color:var(--ink) !important; font-size:14.5px !important; font-weight:650 !important; line-height:1.35 !important;
}
@media (max-width:560px){
  .profile-wrap .info-grid{ grid-template-columns:1fr !important; }
  .profile-wrap .info-item:nth-child(odd){ border-right:0 !important; }
}

/* ════ Акцентный цвет мероприятия (--ev-accent, из админки), фолбэк — золото ════ */
.profile-wrap .event-heritage{ --ev-accent: #eaa24a; }
.profile-wrap .event-heritage-brand{
  background:
    radial-gradient(120% 90% at 30% 12%, color-mix(in srgb, var(--ev-accent) 62%, #fff), transparent 55%),
    radial-gradient(130% 100% at 80% 95%, color-mix(in srgb, var(--ev-accent) 45%, #000), transparent 60%),
    linear-gradient(150deg, var(--ev-accent) 0%, color-mix(in srgb, var(--ev-accent) 55%, #000) 60%, color-mix(in srgb, var(--ev-accent) 38%, #000) 100%) !important;
}
.profile-wrap .event-heritage-brand::before{
  background: radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--ev-accent) 30%, #fff), transparent 46%) !important;
}
.profile-wrap .event-heritage .commemorative-badge{
  color: color-mix(in srgb, var(--ev-accent) 75%, #fff) !important;
  border-color: color-mix(in srgb, var(--ev-accent) 40%, transparent) !important;
  background: color-mix(in srgb, var(--ev-accent) 12%, transparent) !important;
}
.profile-wrap .event-heritage .commemorative-title span{ color: color-mix(in srgb, var(--ev-accent) 70%, #fff) !important; }
.profile-wrap .event-heritage .link-chip{
  color: color-mix(in srgb, var(--ev-accent) 72%, #fff) !important;
  border-color: color-mix(in srgb, var(--ev-accent) 32%, transparent) !important;
  background: color-mix(in srgb, var(--ev-accent) 9%, transparent) !important;
}
.profile-wrap .event-heritage .event-award dd{ color: color-mix(in srgb, var(--ev-accent) 72%, #fff) !important; }

/* ════ Лента участий (несколько мероприятий у питомца) 2026-06-23 ════ */
.profile-wrap .heritage-wrap{ margin-top:20px; display:grid; gap:14px; }
.profile-wrap .heritage-wrap .event-heritage{ margin:0 !important; }
.profile-wrap .heritage-head{ display:flex; flex-direction:column; gap:6px; margin:6px 2px 2px; }
.profile-wrap .heritage-head-kicker{ font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#e8a044; }
.profile-wrap .heritage-head-title{ margin:0 !important; color:var(--ink) !important; font-size:clamp(20px,2.6vw,28px) !important; letter-spacing:-.03em !important; line-height:1.1 !important; }

/* компактные карточки при нескольких участиях */
.profile-wrap .event-heritage--compact{ grid-template-columns: minmax(170px,.4fr) minmax(0,1fr) !important; }
.profile-wrap .event-heritage--compact .event-heritage-brand{ min-height:0 !important; padding:22px !important; }
.profile-wrap .event-heritage--compact .partner-logo-canvas,
.profile-wrap .event-heritage--compact .commemorative-logo{ width:96px !important; height:96px !important; min-height:96px !important; padding:12px !important; border-radius:18px !important; }
.profile-wrap .event-heritage--compact .event-heritage-content{ padding:24px 26px !important; }
.profile-wrap .event-heritage--compact .commemorative-title{ font-size:clamp(21px,2.6vw,30px) !important; margin:12px 0 6px !important; }
.profile-wrap .event-heritage--compact .commemorative-text{ margin-top:14px !important; }
@media (max-width:880px){
  .profile-wrap .event-heritage--compact{ grid-template-columns:1fr !important; }
}

/* ════ Бейджи под именем: премиальный редизайн (2026-06-23) ════ */
.profile-wrap .passport-badges{ gap:10px !important; margin:20px 0 24px !important; }
.profile-wrap .passport-badge{
  align-items:center !important; gap:11px !important; min-width:0 !important;
  padding:10px 15px 10px 11px !important; border-radius:14px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.018)) !important;
  transition:border-color .18s ease, transform .18s ease, background .18s ease !important;
}
.profile-wrap .passport-badge:hover{ transform:translateY(-1px); border-color:rgba(255,255,255,.2) !important; }
/* старые CSS-фигурки выключаем */
.profile-wrap .passport-badge-mark{ display:none !important; }
/* иконка в цветном чипе */
.profile-wrap .passport-badge-ico{
  flex:0 0 auto; width:34px; height:34px; display:grid; place-items:center; border-radius:10px;
  color:#cbd5e1; background:rgba(203,213,225,.12); border:1px solid rgba(203,213,225,.22);
}
.profile-wrap .passport-badge-ico svg{ width:18px; height:18px; display:block; }
.profile-wrap .passport-badge-ico.ico-contact{ color:#8fe0a8; background:rgba(143,224,168,.13); border-color:rgba(143,224,168,.28); }
.profile-wrap .passport-badge-ico.ico-event{ color:#f0bf78; background:rgba(232,160,68,.14); border-color:rgba(232,160,68,.32); }
.profile-wrap .passport-badge-text{ display:grid !important; gap:2px !important; }
.profile-wrap .passport-badge b{ color:var(--ink) !important; font-size:12.5px !important; font-weight:800 !important; letter-spacing:-.01em !important; }
.profile-wrap .passport-badge small{ color:var(--muted) !important; font-size:11px !important; max-width:none !important; }
.profile-wrap .passport-badge-event{
  border-color:rgba(232,160,68,.30) !important;
  background:linear-gradient(160deg, rgba(232,160,68,.12), rgba(232,160,68,.03)) !important;
}
.profile-wrap .passport-badge-event:hover{ border-color:rgba(232,160,68,.5) !important; }

/* ════ Контраст текста на панели по яркости цвета (2026-06-23) ════ */
.profile-wrap .event-heritage{ --ev-on-accent: #241608; }
/* фон панели — ближе к выбранному цвету (равномернее), чтобы контраст был предсказуемым */
.profile-wrap .event-heritage-brand{
  background:
    radial-gradient(135% 115% at 28% 16%, color-mix(in srgb, var(--ev-accent) 86%, #fff), transparent 70%),
    linear-gradient(150deg, var(--ev-accent) 0%, color-mix(in srgb, var(--ev-accent) 80%, #000) 100%) !important;
}
.profile-wrap .event-heritage-brand::before{
  background: radial-gradient(circle at 50% 50%, rgba(255,248,228,.34), transparent 48%) !important;
  animation: heritageGlow 7s ease-in-out infinite !important;
}
/* подписи на панели — адаптивный цвет */
.profile-wrap .event-heritage-brand-copy span{ color: color-mix(in srgb, var(--ev-on-accent) 72%, transparent) !important; }
.profile-wrap .event-heritage-brand-copy b{ color: var(--ev-on-accent) !important; }
