/* BYDOP — Google Reviews sekcia
   Editorial layout s overen\u00fdmi Google recenziami.
   Scoped to .bydop-rev. */

.bydop-rev{
  --rev-copper:#C7844F;
  --rev-copper-deep:#8A5133;
  --rev-orange:#E76100;
  --rev-ink:#1A1108;
  --rev-text:#5A4F45;
  --rev-muted:#8B7F72;
  --rev-cream:#FBF5E9;
  --rev-cream-2:#F2EAD6;
  --rev-line:#E0D6C9;
  --rev-line-soft:#EBE2D3;
  --rev-white:#fff;
  --rev-google-blue:#1A73E8;
  --rev-google-green:#34A853;
  --rev-google-yellow:#FBBC04;
  --rev-google-red:#EA4335;
  --ff-d:"Bricolage Grotesque","Bricolage nahrada","DM Sans","DM Sans nahrada",sans-serif;
  --ff-s:"Instrument Serif", "Instrument nahrada", Georgia,serif;
  --ff-b:"DM Sans","DM Sans nahrada",system-ui,sans-serif;

  padding:140px 0 120px;
  position:relative;
  background:
    radial-gradient(60% 50% at 88% 8%, rgba(199,132,79,.15), transparent 60%),
    radial-gradient(50% 40% at 12% 92%, rgba(199,132,79,.10), transparent 60%),
    linear-gradient(180deg, #FFFCF7 0%, #FBF5E9 45%, #F7F0DF 100%);
  font-family:var(--ff-b);
  color:var(--rev-ink);
  overflow:hidden;
}
.bydop-rev *, .bydop-rev *::before, .bydop-rev *::after{box-sizing:border-box}
.bydop-rev a{color:inherit;text-decoration:none}
.bydop-rev img{display:block;max-width:100%;height:auto}

.bydop-rev::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, transparent, rgba(199,132,79,.4) 50%, transparent);
  z-index:1;pointer-events:none;
}
.bydop-rev__wrap{
  max-width:1240px;margin:0 auto;padding:0 40px;
  position:relative;z-index:2;
}

/* =====================  HEADER  ===================== */
.bydop-rev__top{
  display:grid;
  grid-template-columns:1fr auto;
  gap:64px;
  align-items:end;
  padding-bottom:52px;
  border-bottom:1px solid var(--rev-ink);
  margin-bottom:64px;
}
.bydop-rev__head-left{max-width:680px}
.bydop-rev__crumb{
  display:inline-flex;align-items:center;gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(199,132,79,.16), rgba(138,81,51,.06));
  box-shadow:inset 0 0 0 1px rgba(199,132,79,.30), 0 4px 16px -6px rgba(138,81,51,.22);
  font:600 10px/1 var(--ff-b);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--rev-copper-deep);
  margin-bottom:12px;
}
.bydop-rev__crumb::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:linear-gradient(135deg, #E8C4A0, var(--rev-copper));
  box-shadow:0 0 8px rgba(199,132,79,.55);
  animation:bydopRevCrumbPulse 2.4s ease-in-out infinite;
}
@keyframes bydopRevCrumbPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.4);opacity:.7}
}
.bydop-rev__h{
  font-family:var(--ff-d);
  font-weight:500;
  font-size:clamp(36px,4.6vw,68px);
  line-height:1;
  letter-spacing:-.025em;
  color:var(--rev-ink);
  margin:0 0 18px;
  text-wrap:balance;
}
.bydop-rev__h em{
  font-family:var(--ff-s);
  font-style:italic;
  font-weight:400;
  color:var(--rev-copper-deep);
}
.bydop-rev__sub{
  font-size:15px;
  line-height:1.55;
  color:var(--rev-text);
  margin:0;
  max-width:42ch;
  font-weight:500;
}

/* GOOGLE TRUST CARD */
.bydop-rev__google{
  position:relative;
  display:flex;flex-direction:column;
  gap:14px;
  background:#fff;
  border:1px solid var(--rev-line);
  border-radius:18px;
  padding:24px 28px 22px;
  min-width:300px;
  box-shadow:0 12px 30px -16px rgba(43,30,22,.18);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .4s;
}
.bydop-rev__google:hover{
  transform:translateY(-3px);
  border-color:var(--rev-copper);
  box-shadow:0 22px 50px -20px rgba(43,30,22,.25);
}
.bydop-rev__google__top{
  display:flex;align-items:center;gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid var(--rev-line-soft);
}
.bydop-rev__glogo{width:22px;height:22px;flex-shrink:0}
.bydop-rev__glabel{
  font:600 13px/1.2 var(--ff-b);
  letter-spacing:.02em;
  color:var(--rev-ink);
}
.bydop-rev__glabel small{
  display:block;
  font:500 10.5px/1 var(--ff-b);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rev-muted);
  margin-top:4px;
}
.bydop-rev__google__rating{
  display:flex;align-items:baseline;gap:14px;
}
.bydop-rev__rate-num{
  font-family:var(--ff-d);
  font-weight:600;
  font-size:46px;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--rev-ink);
}
.bydop-rev__stars{
  display:inline-flex;gap:2px;
  color:var(--rev-copper);
}
.bydop-rev__stars svg{width:18px;height:18px}
.bydop-rev__google__meta{
  font-size:13px;
  color:var(--rev-text);
  line-height:1.4;
}
.bydop-rev__google__meta b{
  color:var(--rev-ink);font-weight:600;
}
.bydop-rev__google__cta{
  display:inline-flex;align-items:center;gap:8px;
  font:600 12px/1 var(--ff-b);
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--rev-copper-deep);
  padding-top:14px;
  border-top:1px solid var(--rev-line-soft);
  transition:color .3s, gap .3s;
}
.bydop-rev__google:hover .bydop-rev__google__cta{
  color:var(--rev-orange);
  gap:12px;
}

/* =====================  FAN STACK (interaktívna animácia)  ===================== */
.bydop-rev__fan-wrap{
  position:relative;
  margin:0 auto 100px;
}
.bydop-rev__fan{
  position:relative;
  height:30rem;
  width:100%;
  transition:height .7s cubic-bezier(.2,.8,.2,1);
}

/* Fan card — full visual + positioning via CSS variables */
.bydop-rev__fc{
  position:absolute;
  left:50%;top:50%;
  width:340px;
  max-width:90vw;
  background:#fff;
  border:1px solid var(--rev-line);
  border-radius:18px;
  padding:24px 26px 22px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:0 14px 30px -16px rgba(43,30,22,.18);
  transform-origin:center center;
  transform:translate(-50%, -50%) var(--fc-t, none);
  opacity:var(--fc-op, 1);
  z-index:var(--fc-z, 1);
  filter:var(--fc-f, none);
  transition:
    transform .65s cubic-bezier(.2,.8,.2,1),
    opacity .5s cubic-bezier(.2,.8,.2,1),
    box-shadow .5s,
    filter .4s,
    border-color .4s,
    z-index 0s linear .35s;
  cursor:pointer;
  overflow:hidden;
}

/* G logo badge v rohu */
.bydop-rev__fc__gbadge{
  position:absolute;top:16px;right:16px;
  width:20px;height:20px;
  opacity:.75;
}

/* Featured card je odlíšená iba jemným tónovaným pozadím. */
.bydop-rev__fc--feat{
  background:linear-gradient(180deg, #fff 0%, var(--rev-cream) 100%);
}

/* Idle fan positions (CSS vars cez --fc-t) */
.bydop-rev__fc--1{
  --fc-t: rotate(0deg) scale(1);
  --fc-z: 60;
  box-shadow:0 30px 70px -22px rgba(43,30,22,.4), 0 0 0 1px rgba(199,132,79,.4);
}
.bydop-rev__fc--2{
  --fc-t: translate(-180px, 12px) rotate(-8deg) scale(.94);
  --fc-z: 50;
  --fc-op: .94;
}
.bydop-rev__fc--3{
  --fc-t: translate(180px, 12px) rotate(8deg) scale(.94);
  --fc-z: 50;
  --fc-op: .94;
}
.bydop-rev__fc--4{
  --fc-t: translate(-340px, 44px) rotate(-15deg) scale(.88);
  --fc-z: 40;
  --fc-op: .78;
}
.bydop-rev__fc--5{
  --fc-t: translate(340px, 44px) rotate(15deg) scale(.88);
  --fc-z: 40;
  --fc-op: .78;
}
.bydop-rev__fc--6{
  --fc-t: translate(0, -32px) rotate(0deg) scale(.86);
  --fc-z: 30;
  --fc-op: .55;
  --fc-f: brightness(.97) saturate(.85);
}

/* HOVER state — rozprestretie do 3×2 gridu (desktop only) */
@media (min-width:1025px){
  .bydop-rev__fan-wrap:hover .bydop-rev__fan{
    height:42rem;
  }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc{
    --fc-op: 1;
    --fc-z: 5;
    --fc-f: none;
    box-shadow:0 20px 40px -20px rgba(43,30,22,.18);
  }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--feat{
    box-shadow:0 20px 40px -20px rgba(199,132,79,.35), 0 0 0 1px rgba(199,132,79,.35);
  }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--2{ --fc-t: translate(-110%, -55%) rotate(0deg) scale(1); }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--1{ --fc-t: translate(0%, -55%) rotate(0deg) scale(1); }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--3{ --fc-t: translate(110%, -55%) rotate(0deg) scale(1); }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--4{ --fc-t: translate(-110%, 55%) rotate(0deg) scale(1); }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--6{ --fc-t: translate(0%, 55%) rotate(0deg) scale(1); }
  .bydop-rev__fan-wrap:hover .bydop-rev__fc--5{ --fc-t: translate(110%, 55%) rotate(0deg) scale(1); }
  /* Individuálny hover karty v rozprestretom stave */
  .bydop-rev__fan-wrap:hover .bydop-rev__fc:hover{
    --fc-z: 60;
    transform:translate(-50%, -50%) var(--fc-t, none) translateY(-4px);
    box-shadow:0 28px 50px -22px rgba(43,30,22,.32);
    border-color:var(--rev-copper);
  }
}

/* Hint pill pod fanom */
.bydop-rev__fan-hint{
  position:absolute;
  bottom:-1.8rem;
  left:50%;
  transform:translateX(-50%);
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 18px;
  background:rgba(199,132,79,.07);
  border:1px solid rgba(199,132,79,.22);
  border-radius:999px;
  font:600 10.5px/1 var(--ff-b);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--rev-copper-deep);
  white-space:nowrap;
  transition:opacity .4s;
  pointer-events:none;
}
.bydop-rev__fan-hint::before{
  content:"";
  width:6px;height:6px;border-radius:50%;
  background:var(--rev-copper);
  box-shadow:0 0 10px rgba(199,132,79,.75);
  animation:bydopFanPulse 2s ease-in-out infinite;
}
@keyframes bydopFanPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.6);opacity:.4}
}
.bydop-rev__fan-wrap:hover .bydop-rev__fan-hint{opacity:0}

/* Obsah karty (fc) — kompaktnejšia verzia */
.bydop-rev__fc .bydop-rev__author-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
}
.bydop-rev__fc .bydop-rev__avatar{width:40px;height:40px;font-size:16px}
.bydop-rev__fc .bydop-rev__name{font-size:14.5px;line-height:1.2}
.bydop-rev__fc .bydop-rev__meta{font-size:11.5px}
.bydop-rev__fc .bydop-rev__stars-row{gap:10px}
.bydop-rev__fc .bydop-rev__stars svg{width:14px;height:14px;color:var(--rev-copper)}
.bydop-rev__fc .bydop-rev__quote{
  font-family:var(--ff-d);
  font-weight:500;
  font-size:14px;
  line-height:1.55;
  letter-spacing:-.005em;
  color:var(--rev-ink);
  margin:0;
  max-width:none;
  display:-webkit-box;
  -webkit-line-clamp:5;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.bydop-rev__fc .bydop-rev__quote em{
  font-family:var(--ff-s);font-style:italic;font-weight:400;color:var(--rev-copper-deep);
}
.bydop-rev__fc__foot{
  margin-top:auto;padding-top:14px;
  border-top:1px solid var(--rev-line-soft);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font:500 11px/1 var(--ff-b);
  color:var(--rev-muted);
  letter-spacing:.04em;
}
.bydop-rev__fc__foot__src{display:inline-flex;align-items:center;gap:6px}
.bydop-rev__fc__foot__src svg{width:14px;height:14px;flex-shrink:0}
.bydop-rev__fc__foot__date{font-style:italic;font-family:var(--ff-s);font-size:12.5px;color:var(--rev-copper-deep)}

/* Mobile fallback — všetky karty pod sebou */
@media (max-width:1024px){
  .bydop-rev__fan-wrap{margin-bottom:48px}
  .bydop-rev__fan{
    height:auto;
    display:flex;flex-direction:column;align-items:stretch;
    gap:18px;
  }
  .bydop-rev__fc{
    position:relative;left:auto;top:auto;
    width:100%;max-width:none;
    transform:none !important;
    opacity:1 !important;
    filter:none !important;
    z-index:1 !important;
    box-shadow:0 12px 28px -18px rgba(43,30,22,.18);
  }
  .bydop-rev__fc--feat{
    box-shadow:0 16px 36px -18px rgba(199,132,79,.3), 0 0 0 1px rgba(199,132,79,.35);
  }
  .bydop-rev__fan-hint{display:none}
}

/* =====================  FEATURED REVIEW  ===================== */
.bydop-rev__featured{
  position:relative;
  background:#fff;
  border:1px solid var(--rev-line);
  border-radius:24px;
  padding:40px 48px 42px;
  margin-bottom:32px;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  box-shadow:0 20px 50px -30px rgba(43,30,22,.18);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .4s;
  overflow:hidden;
}
.bydop-rev__featured::before{
  content:"";position:absolute;top:0;left:0;width:4px;height:100%;
  background:linear-gradient(180deg, var(--rev-copper) 0%, var(--rev-orange) 100%);
}
.bydop-rev__featured::after{
  content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(199,132,79,.10), transparent 70%);
  pointer-events:none;
}
.bydop-rev__featured:hover{
  transform:translateY(-3px);
  box-shadow:0 30px 60px -28px rgba(43,30,22,.28);
  border-color:var(--rev-copper);
}

.bydop-rev__author-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
}
.bydop-rev__avatar{
  width:48px;height:48px;
  border-radius:50%;
  display:grid;place-items:center;
  color:#fff;
  font-family:var(--ff-d);
  font-weight:500;
  font-size:20px;
  letter-spacing:-.01em;
  flex-shrink:0;
}
.bydop-rev__avatar--blue   { background:linear-gradient(135deg, #4285F4, #1A73E8); }
.bydop-rev__avatar--red    { background:linear-gradient(135deg, #EA4335, #C5221F); }
.bydop-rev__avatar--yellow { background:linear-gradient(135deg, #FBBC04, #F29900); }
.bydop-rev__avatar--green  { background:linear-gradient(135deg, #34A853, #1E8E3E); }
.bydop-rev__avatar--purple { background:linear-gradient(135deg, #A855F7, #7C3AED); }
.bydop-rev__avatar--copper { background:linear-gradient(135deg, #C7844F, #8A5133); }

.bydop-rev__author{display:flex;flex-direction:column;gap:3px;min-width:0}
.bydop-rev__name{
  font:600 17px/1.2 var(--ff-d);
  letter-spacing:-.01em;
  color:var(--rev-ink);
}
.bydop-rev__meta{
  font:500 12.5px/1.4 var(--ff-b);
  color:var(--rev-muted);
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.bydop-rev__meta b{color:var(--rev-ink);font-weight:600}
.bydop-rev__sep{opacity:.4}

.bydop-rev__verified{
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 13px;
  background:rgba(26,115,232,.07);
  border:1px solid rgba(26,115,232,.18);
  border-radius:999px;
  font:600 10.5px/1 var(--ff-b);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--rev-google-blue);
}
.bydop-rev__verified svg{width:14px;height:14px;flex-shrink:0}

.bydop-rev__stars-row{
  display:flex;align-items:center;gap:14px;
}
.bydop-rev__stars-row .bydop-rev__stars svg{width:22px;height:22px}
.bydop-rev__rate-text{
  font:600 13px/1 var(--ff-b);
  letter-spacing:.04em;
  color:var(--rev-text);
  text-transform:uppercase;
}
.bydop-rev__rate-text b{color:var(--rev-ink);font-weight:700;letter-spacing:0}

.bydop-rev__quote{
  font-family:var(--ff-d);
  font-weight:400;
  font-size:clamp(22px,2.2vw,28px);
  line-height:1.4;
  letter-spacing:-.015em;
  color:var(--rev-ink);
  margin:0;
  padding:0;
  text-wrap:balance;
  max-width:60ch;
}
.bydop-rev__quote em{
  font-family:var(--ff-s);
  font-style:italic;
  font-weight:400;
  color:var(--rev-copper-deep);
}

.bydop-rev__featured-footer{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-top:24px;
  border-top:1px solid var(--rev-line-soft);
  flex-wrap:wrap;
}
.bydop-rev__source{
  display:inline-flex;align-items:center;gap:10px;
  font:500 12.5px/1 var(--ff-b);
  color:var(--rev-muted);
  letter-spacing:.04em;
}
.bydop-rev__source svg{width:18px;height:18px;flex-shrink:0}

.bydop-rev__link{
  display:inline-flex;align-items:center;gap:8px;
  font:600 12px/1 var(--ff-b);
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rev-copper-deep);
  transition:color .3s, gap .3s;
}
.bydop-rev__link:hover{color:var(--rev-orange);gap:12px}

/* =====================  GRID OF SMALLER CARDS  ===================== */
.bydop-rev__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin-bottom:48px;
}
.bydop-rev__card{
  position:relative;
  background:#fff;
  border:1px solid var(--rev-line);
  border-radius:18px;
  padding:24px 26px 22px;
  display:flex;flex-direction:column;gap:14px;
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .4s;
  box-shadow:0 10px 24px -16px rgba(43,30,22,.12);
}
.bydop-rev__card:hover{
  transform:translateY(-3px);
  border-color:var(--rev-copper);
  box-shadow:0 22px 40px -20px rgba(43,30,22,.22);
}
.bydop-rev__card .bydop-rev__author-row{
  grid-template-columns:auto 1fr auto;
  gap:14px;
}
.bydop-rev__card .bydop-rev__avatar{width:40px;height:40px;font-size:17px}
.bydop-rev__card .bydop-rev__name{font-size:15px}
.bydop-rev__card .bydop-rev__meta{font-size:11.5px}
.bydop-rev__card .bydop-rev__stars-row{gap:10px}
.bydop-rev__card .bydop-rev__stars svg{width:15px;height:15px}
.bydop-rev__card .bydop-rev__quote{
  font-size:14.5px;line-height:1.55;font-weight:500;
  max-width:none;
}
.bydop-rev__card-foot{
  margin-top:auto;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:14px;
  border-top:1px solid var(--rev-line-soft);
  font:500 11px/1 var(--ff-b);
  color:var(--rev-muted);
  letter-spacing:.04em;
}
.bydop-rev__card-foot__src{
  display:inline-flex;align-items:center;gap:6px;
}
.bydop-rev__card-foot__src svg{width:14px;height:14px;flex-shrink:0}
.bydop-rev__card-foot__date{
  font-style:italic;font-family:var(--ff-s);font-size:13px;
  color:var(--rev-copper-deep);
}

.bydop-rev__card__gbadge{
  position:absolute;top:14px;right:14px;
  width:22px;height:22px;
  opacity:.55;transition:opacity .3s;
}
.bydop-rev__card:hover .bydop-rev__card__gbadge{opacity:1}

/* =====================  BOTTOM CTA  ===================== */
.bydop-rev__foot{
  display:flex;justify-content:center;
}
.bydop-rev__cta{
  display:inline-flex;align-items:center;gap:14px;
  padding:18px 30px;
  background:var(--rev-ink);
  color:#fff;
  border-radius:999px;
  font-family:var(--ff-d);
  font-weight:600;
  font-size:14px;
  letter-spacing:.04em;
  transition:background .3s, transform .3s, gap .3s;
  box-shadow:0 18px 36px -20px rgba(43,30,22,.5);
}
.bydop-rev__cta svg.bydop-rev__cta__g{width:18px;height:18px;flex-shrink:0}
.bydop-rev__cta svg.bydop-rev__cta__arr{width:14px;height:14px;flex-shrink:0;transition:transform .3s}
.bydop-rev__cta:hover{background:var(--rev-copper-deep);transform:translateY(-2px);gap:18px}
.bydop-rev__cta:hover .bydop-rev__cta__arr{transform:translateX(4px)}

/* =====================  RESPONSIVE  ===================== */
@media (max-width:1100px){
  .bydop-rev{padding:100px 0 100px}
  .bydop-rev__top{
    grid-template-columns:1fr;
    gap:32px;
    align-items:start;
  }
  .bydop-rev__google{min-width:0}
  .bydop-rev__featured{padding:32px 32px 32px}
  .bydop-rev__quote{font-size:20px}
  .bydop-rev__grid{grid-template-columns:repeat(2, 1fr)}
}
@media (max-width:680px){
  .bydop-rev{padding:80px 0 80px}
  .bydop-rev__wrap{padding:0 22px}
  .bydop-rev__top{padding-bottom:36px;margin-bottom:40px}
  .bydop-rev__featured{padding:26px 22px}
  .bydop-rev__quote{font-size:17px;line-height:1.5}
  .bydop-rev__grid{grid-template-columns:1fr}
  .bydop-rev__featured-footer{flex-direction:column;align-items:flex-start;gap:14px}
  .bydop-rev__cta{padding:14px 22px;font-size:13px;gap:10px}
}
