:root{
  --google-gold:#d4af37;
  --google-line:rgba(255,255,255,.08);
}

/* ==========================================
   FLYTANDE GOOGLE-KNAPP
========================================== */

.google-reviews-fab{
  position:fixed;
  left:20px;
  bottom:20px;
  z-index:2000;

  display:flex;
  align-items:center;
  gap:12px;

  padding:12px 18px;

  border:none;
  border-radius:999px;

  background:linear-gradient(
    180deg,
    #1b1b1b,
    #0f0f0f
  );

  border:1px solid rgba(212,175,55,.35);

  color:#fff;
  cursor:pointer;

  box-shadow:
    0 0 20px rgba(0,0,0,.4),
    0 0 12px rgba(212,175,55,.15);

  transition:.25s ease;
}

.google-reviews-fab:hover{
  transform:translateY(-2px);
  box-shadow:
    0 0 30px rgba(212,175,55,.3);
}

.google-fab-text{
  display:flex;
  flex-direction:column;
  line-height:1;
}

.google-fab-text strong{
  color:#fff;
  font-size:1rem;
}

.google-fab-text small{
  color:var(--google-gold);
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ==========================================
   GOOGLE LOGGA
========================================== */

.google-g{
  width:36px;
  height:36px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:#fff;

  font-size:1.3rem;
  font-weight:900;
  font-family:Arial, sans-serif;
}

.google-g span{
  background:
    linear-gradient(
      45deg,
      #4285F4,
      #34A853,
      #FBBC05,
      #EA4335
    );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* ==========================================
   OVERLAY
========================================== */

.google-reviews-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);

  opacity:0;
  visibility:hidden;

  transition:.3s ease;
  z-index:2100;
}

body.google-reviews-open .google-reviews-overlay{
  opacity:1;
  visibility:visible;
}

/* ==========================================
   PANEL
========================================== */

.google-reviews-panel{
  position:fixed;
  top:0;
  left:0;

  width:min(500px,95vw);
  height:100vh;

  background:
    radial-gradient(
      circle at top left,
      rgba(212,175,55,.08),
      transparent 30%
    ),
    #0d0d0d;

  border-right:1px solid rgba(212,175,55,.15);

  padding:90px 28px 28px;

  overflow-y:auto;

  transform:translateX(-100%);
  transition:.35s ease;

  z-index:2200;
}

body.google-reviews-open .google-reviews-panel{
  transform:translateX(0);
}

.google-reviews-close{
  position:absolute;
  top:20px;
  right:20px;

  width:42px;
  height:42px;

  border-radius:50%;
  border:1px solid var(--google-line);

  background:#111;
  color:var(--google-gold);

  font-size:1.4rem;
  cursor:pointer;
}

/* ==========================================
   RUBRIKER
========================================== */

.google-reviews-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-bottom:20px;

  color:#fff;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.75rem;
}

.google-reviews-panel h2{
  margin:0 0 10px;

  font-size:2.5rem;
  line-height:1;

  background:linear-gradient(
    180deg,
    #fff1a8,
    #d4af37,
    #8f6b12
  );

  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.google-stars{
  color:#fbbc05;
  font-size:1.2rem;
  margin-bottom:20px;
}

.google-reviews-intro{
  color:#c8c8c8;
  line-height:1.7;
}

/* ==========================================
   RECENSIONER
========================================== */

.google-review-highlight,
.google-review-card{
  background:#161616;

  border:1px solid rgba(255,255,255,.05);
  border-radius:20px;

  padding:22px;
  margin-bottom:16px;
}

.google-review-highlight{
  border-color:rgba(212,175,55,.25);
}

.review-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;

  margin-bottom:12px;
}

.review-topline strong{
  color:#fff;
}

.review-topline span{
  color:#fbbc05;
}

.google-review-card p,
.google-review-highlight p{
  color:#d8d8d8;
  line-height:1.7;
  margin:0;
}

/* ==========================================
   GOOGLE KNAPP
========================================== */

.google-review-main-link{
  display:flex;
  justify-content:center;
  align-items:center;

  min-height:52px;
  margin-top:25px;

  border-radius:999px;

  text-decoration:none;

  background:linear-gradient(
    180deg,
    #fff1a8,
    #d4af37,
    #8f6b12
  );

  color:#111;
  font-weight:900;
}

/* ==========================================
   HAMBURGERMENYN
========================================== */

.side-menu button.google-reviews-open,
.side-menu .menu-review-link{
  width:100%;

  display:block;

  font-size:1.3rem;
  padding:10px 0;

  border:0;
  border-bottom:1px solid rgba(255,255,255,.08);

  background:transparent !important;
  color:var(--google-gold) !important;

  text-align:left;
  cursor:pointer;
  font:inherit;

  transition:.2s ease;
}

.side-menu button.google-reviews-open:hover,
.side-menu .menu-review-link:hover{
  color:#fff !important;
  transform:translateX(-4px);
}

/* ==========================================
   MOBIL
========================================== */

@media(max-width:640px){

  .google-reviews-fab{
    left:12px;
    bottom:12px;
    padding:10px 14px;
  }

  .google-reviews-panel{
    width:100%;
    padding:80px 20px 20px;
  }

  .google-reviews-panel h2{
    font-size:2rem;
  }
}