/* =========================================================
   BLOCK 07 MOTION V1 — REAL TRUST
   Approved layout stays intact. Motion is layered only:
   copy reveal masks, gallery light, live-card settle and hover polish.
   ========================================================= */

:root{--trust7-ease:cubic-bezier(.22,.61,.36,1)}

.trust7-exact-visual{
  --trust7-gx:50%;
  --trust7-gy:38%;
}

/* Editorial copy reveal. The source text stays baked into the approved image;
   these masks simply slide away when the block enters the viewport. */
.trust7m-copy-masks{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  overflow:hidden;
  border-radius:20px;
}
.trust7m-mask{
  position:absolute;
  left:2.2%;
  background:
    linear-gradient(90deg,rgba(2,13,23,.995) 0%,rgba(3,15,26,.985) 82%,rgba(10,35,49,.94) 100%);
  box-shadow:18px 0 28px rgba(0,0,0,.18);
  opacity:1;
  transform:translate3d(0,0,0);
  will-change:transform,opacity;
}
.trust7m-mask::after{
  content:"";
  position:absolute;
  right:-2px;
  top:0;
  width:2px;
  height:100%;
  background:linear-gradient(180deg,transparent,rgba(83,240,255,.85),transparent);
  box-shadow:0 0 16px rgba(70,232,255,.45);
}
.trust7m-mask-kicker{top:19.3%;width:21.5%;height:5.8%;border-radius:10px}
.trust7m-mask-title{top:24.4%;width:23.9%;height:18.9%;border-radius:18px}
.trust7m-mask-lead{top:43.1%;width:23.9%;height:15.3%;border-radius:16px}

.trust7m-ready:not(.trust7m-in) .trust7m-mask{transform:translateX(0)}
.trust7m-in .trust7m-mask-kicker{animation:trust7MaskOut .72s var(--trust7-ease) .02s forwards}
.trust7m-in .trust7m-mask-title{animation:trust7MaskOut .92s var(--trust7-ease) .14s forwards}
.trust7m-in .trust7m-mask-lead{animation:trust7MaskOut .94s var(--trust7-ease) .29s forwards}
@keyframes trust7MaskOut{
  0%{transform:translateX(0);opacity:1}
  74%{opacity:1}
  100%{transform:translateX(-112%);opacity:0}
}

/* One authored light sweep across the real-photo gallery. */
.trust7m-gallery-light{
  position:absolute;
  z-index:4;
  left:25.8%;
  top:6.9%;
  width:71.7%;
  height:54.9%;
  border-radius:16px;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at var(--trust7-gx) var(--trust7-gy),rgba(87,236,255,.16) 0%,rgba(55,197,255,.07) 14%,transparent 34%);
  transition:opacity 240ms ease;
}
.trust7m-gallery-light::after{
  content:"";
  position:absolute;
  top:-28%;
  left:-28%;
  width:18%;
  height:160%;
  transform:rotate(17deg);
  background:linear-gradient(90deg,transparent,rgba(205,251,255,.03),rgba(185,249,255,.38),rgba(205,251,255,.03),transparent);
  filter:blur(.4px);
  opacity:0;
}
.trust7m-in .trust7m-gallery-light::after{
  animation:trust7GallerySweep 1.15s var(--trust7-ease) .44s 1 both;
}
@keyframes trust7GallerySweep{
  0%{left:-28%;opacity:0}
  12%{opacity:.9}
  100%{left:116%;opacity:0}
}
.trust7-exact-visual.trust7m-gallery-hover .trust7m-gallery-light{opacity:1}

/* Live cards never become transparent: the baked mockups underneath never flash through. */
.trust7m-ready:not(.trust7m-in) .trust7-live-card,
.trust7m-ready:not(.trust7m-in) .trust7-live-map{
  transform:scale(.968);
  filter:brightness(.76) saturate(.86);
}
.trust7m-ready .trust7-live-card,
.trust7m-ready .trust7-live-map{
  transition:
    transform .66s var(--trust7-ease),
    filter .70s var(--trust7-ease),
    border-color .22s ease,
    box-shadow .22s ease !important;
}
.trust7m-in .live-yandex{transition-delay:.46s,.46s,0s,0s !important}
.trust7m-in .live-2gis{transition-delay:.55s,.55s,0s,0s !important}
.trust7m-in .trust7-live-map{transition-delay:.64s,.64s,0s,0s !important}
.trust7m-in .trust7-live-card,
.trust7m-in .trust7-live-map{
  transform:scale(1);
  filter:none;
}

/* Hover stays inside the card geometry. No shifting, no doubled frames. */
.trust7-live-card:hover,
.trust7-live-card:focus-within{
  transform:scale(1) !important;
  filter:brightness(1.05) saturate(1.03) !important;
  border-color:rgba(85,238,255,.94) !important;
  box-shadow:
    0 14px 38px rgba(0,0,0,.30),
    0 0 0 1px rgba(83,238,255,.22),
    0 0 24px rgba(48,216,255,.15),
    inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.trust7-live-map:hover,
.trust7-live-map:focus-within{
  transform:scale(1) !important;
  filter:brightness(1.03) saturate(1.02) !important;
  border-color:rgba(85,238,255,.94) !important;
  box-shadow:
    0 14px 38px rgba(0,0,0,.28),
    0 0 0 1px rgba(83,238,255,.20),
    0 0 24px rgba(48,216,255,.14) !important;
}

/* CTA glass response in the rating cards. */
.trust7-live-card > a{
  position:relative;
  overflow:hidden;
  transition:background .2s ease,box-shadow .2s ease,transform .2s ease !important;
}
.trust7-live-card > a::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-32%;
  width:18%;
  height:220%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(219,253,255,.48),transparent);
  opacity:0;
}
.trust7-live-card > a:hover,
.trust7-live-card > a:focus-visible{
  transform:scale(1.012);
  box-shadow:0 0 18px rgba(49,222,255,.13);
}
.trust7-live-card > a:hover::after,
.trust7-live-card > a:focus-visible::after{
  animation:trust7ButtonSweep .62s ease 1 both;
}
@keyframes trust7ButtonSweep{
  0%{left:-32%;opacity:0}
  18%{opacity:.9}
  100%{left:118%;opacity:0}
}

/* Map pin breathes slowly; the map itself remains fully interactive. */
.trust7-map-label-pin::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:100%;
  height:100%;
  border:1px solid rgba(71,239,255,.72);
  border-radius:50%;
  transform:translate(-50%,-50%) scale(1);
  opacity:.72;
  animation:trust7PinPulse 2.6s ease-out infinite;
}
@keyframes trust7PinPulse{
  0%{transform:translate(-50%,-50%) scale(1);opacity:.72}
  72%,100%{transform:translate(-50%,-50%) scale(2.25);opacity:0}
}

@media(max-width:900px){
  .trust7m-copy-masks{display:none}
  .trust7m-gallery-light{display:none}
}

@media(prefers-reduced-motion:reduce){
  .trust7m-copy-masks,.trust7m-gallery-light{display:none!important}
  .trust7-live-card,.trust7-live-map{transform:none!important;filter:none!important;transition:none!important}
  .trust7-map-label-pin::before{animation:none!important;display:none}
}


/* =========================================================
   BLOCK 07 MOTION V2 — CLEAN LIVE CARDS / BRIGHT MAP
   Fixes only the lower live Yandex / 2GIS / map row.
   No secondary baked-frame "underlay" should remain visible.
   ========================================================= */

/* Cover the original baked mockup cards completely. */
.live-yandex{
  left:2.35% !important;
  top:62.20% !important;
  width:22.45% !important;
  height:24.20% !important;
}
.live-2gis{
  left:24.95% !important;
  top:62.20% !important;
  width:22.55% !important;
  height:24.20% !important;
}
.trust7-live-map{
  left:46.95% !important;
  top:62.20% !important;
  width:26.95% !important;
  height:24.20% !important;
}

/* One clean surface instead of card-on-card. */
.trust7-live-card{
  padding:16px 18px 14px !important;
  background:
    radial-gradient(circle at 18% 0%,rgba(48,160,210,.18),transparent 38%),
    linear-gradient(180deg,#0b2538 0%,#061725 58%,#04121e 100%) !important;
  border:1px solid rgba(68,230,255,.94) !important;
  border-radius:16px !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.34),
    0 0 22px rgba(39,211,255,.10),
    inset 0 1px 0 rgba(255,255,255,.065) !important;
  transform:none !important;
  filter:none !important;
}

.trust7-live-title{
  color:#ffffff !important;
  font-size:clamp(15px,1.15vw,19px) !important;
  text-shadow:0 0 14px rgba(85,235,255,.10);
}

/* Brighter real rating badges. */
.trust7-live-card iframe{
  width:150px !important;
  height:50px !important;
  transform:scale(1.52) !important;
  transform-origin:left center !important;
  margin:18px 0 20px !important;
  filter:brightness(1.20) saturate(1.12) contrast(1.06) !important;
  opacity:1 !important;
}

.trust7-live-card > a{
  min-height:42px !important;
  margin-top:auto !important;
  border:1px solid rgba(73,236,255,.96) !important;
  border-radius:10px !important;
  color:#84f6ff !important;
  background:linear-gradient(180deg,rgba(11,45,62,.95),rgba(5,27,40,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.trust7-live-card > a:hover,
.trust7-live-card > a:focus-visible{
  background:linear-gradient(180deg,rgba(19,72,91,.98),rgba(7,38,54,.98)) !important;
  box-shadow:
    0 0 20px rgba(48,222,255,.16),
    inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Make the live map substantially clearer and brighter. */
.trust7-live-map{
  background:#dfe7df !important;
  border:1px solid rgba(68,230,255,.94) !important;
  border-radius:16px !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    0 0 22px rgba(39,211,255,.10) !important;
  transform:none !important;
  filter:none !important;
}
.trust7-live-map iframe{
  width:100% !important;
  height:100% !important;
  filter:brightness(1.08) saturate(1.08) contrast(1.035) !important;
  opacity:1 !important;
}

.trust7-map-label{
  background:rgba(4,22,34,.92) !important;
  border-color:rgba(94,242,255,.92) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 18px rgba(50,222,255,.12) !important;
}

/* Keep these surfaces opaque during the entry animation: no fake card beneath flashes through. */
.trust7m-ready:not(.trust7m-in) .trust7-live-card,
.trust7m-ready:not(.trust7m-in) .trust7-live-map{
  transform:none !important;
  filter:brightness(.88) saturate(.96) !important;
}
.trust7m-in .trust7-live-card,
.trust7m-in .trust7-live-map{
  transform:none !important;
  filter:none !important;
}

/* Hover = brighter surface only; never another frame or offset plate. */
.trust7-live-card:hover,
.trust7-live-card:focus-within,
.trust7-live-map:hover,
.trust7-live-map:focus-within{
  transform:none !important;
  border-color:rgba(101,244,255,1) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.34),
    0 0 26px rgba(45,220,255,.17),
    inset 0 1px 0 rgba(255,255,255,.075) !important;
}

@media(max-width:1100px){
  .trust7-live-card iframe{transform:scale(1.35) !important;}
}
@media(max-width:820px){
  .trust7-live-card iframe{transform:scale(1.18) !important;}
}


/* =========================================================
   BLOCK 07 MOTION V3 — ALIGNED LOWER ROW / CONTROLS ONLY
   User-approved upper gallery and copy motion stay unchanged.
   Lower Yandex / 2GIS / map surfaces remain completely still.
   Only actionable controls respond.
   ========================================================= */

/* Restore the exact approved lower-row geometry.
   This brings back the intended gap below the photo grid and
   keeps the live map fully inside its own frame. */
.live-yandex{
  left:3.03% !important;
  top:63.02% !important;
  width:21.56% !important;
  height:22.92% !important;
}
.live-2gis{
  left:25.54% !important;
  top:63.02% !important;
  width:21.23% !important;
  height:22.92% !important;
}
.trust7-live-map{
  left:47.44% !important;
  top:63.02% !important;
  width:25.94% !important;
  height:22.92% !important;
  overflow:hidden !important;
  border-radius:14px !important;
}

/* Live surfaces themselves never move, lift, brighten, or redraw frames. */
.trust7-live-card,
.trust7-live-map{
  transform:none !important;
  transition:none !important;
  filter:none !important;
}
.trust7-live-card:hover,
.trust7-live-card:focus-within,
.trust7-live-map:hover,
.trust7-live-map:focus-within{
  transform:none !important;
  filter:none !important;
  border-color:rgba(68,230,255,.94) !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    0 0 22px rgba(39,211,255,.10) !important;
}

/* No entry-scale/dimming for the lower row. It is static from first paint. */
.trust7m-ready:not(.trust7m-in) .trust7-live-card,
.trust7m-ready:not(.trust7m-in) .trust7-live-map,
.trust7m-in .trust7-live-card,
.trust7m-in .trust7-live-map{
  transform:none !important;
  filter:none !important;
}

/* The real Yandex map stays clipped inside the cyan frame. */
.trust7-live-map iframe{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  border:0 !important;
  border-radius:13px !important;
  filter:brightness(1.06) saturate(1.06) contrast(1.025) !important;
}

/* Only buttons react. No geometry shift. */
.trust7-live-card > a{
  transform:none !important;
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    color .18s ease !important;
}
.trust7-live-card > a:hover,
.trust7-live-card > a:focus-visible{
  transform:none !important;
  color:#b9fbff !important;
  border-color:#8cf7ff !important;
  background:linear-gradient(180deg,rgba(18,67,86,.98),rgba(6,34,49,.98)) !important;
  box-shadow:
    0 0 0 1px rgba(105,242,255,.12),
    0 0 18px rgba(47,224,255,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

/* Map address pill behaves like a button, while the map itself stays put. */
.trust7-map-label{
  transition:
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease !important;
}
.trust7-map-label:hover,
.trust7-map-label:focus-visible{
  transform:none !important;
  background:rgba(7,34,51,.96) !important;
  border-color:rgba(132,248,255,.98) !important;
  box-shadow:
    0 10px 26px rgba(0,0,0,.30),
    0 0 18px rgba(50,222,255,.16) !important;
}

@media(max-width:1100px){
  .trust7-live-card iframe{transform:scale(1.28) !important;}
}
@media(max-width:820px){
  .trust7-live-card iframe{transform:scale(1.15) !important;}
}


/* =========================================================
   BLOCK 07 V3.1 — REMOVE BAKED / OFFSET GHOST FRAMES ONLY
   The live Yandex, 2GIS and map cards stay exactly where they are.
   Dark underlays cover only the old cyan frames baked into the artwork.
   ========================================================= */

.trust7-underlay{
  position:absolute;
  z-index:4;
  pointer-events:none;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#04131f;
  border-radius:17px;
}

/* Slightly larger than the real live surfaces so the displaced baked
   cyan outlines cannot peek out around any edge. */
.trust7-underlay-yandex{
  left:2.55%;
  top:62.55%;
  width:22.52%;
  height:23.86%;
}
.trust7-underlay-2gis{
  left:25.07%;
  top:62.55%;
  width:22.17%;
  height:23.86%;
}
.trust7-underlay-map{
  left:46.97%;
  top:62.55%;
  width:26.88%;
  height:23.86%;
}

/* Keep the approved live surfaces and controls above the cleanup masks. */
.trust7-live-card,
.trust7-live-map{
  z-index:5 !important;
}
.trust7-map-label{
  z-index:6 !important;
}

/* Nothing about the approved hover/controls changes. */
