/* Free business review pop-up — Gilly Digital
   Self-contained: works on every page, uses site tokens with fallbacks. */
.gd-rv-overlay{
  position:fixed;inset:0;z-index:100001;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  background:rgba(10,10,11,.74);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;
  transition:opacity .28s ease, visibility 0s linear .28s;
  overscroll-behavior:contain;
}
.gd-rv-overlay.is-open{opacity:1;visibility:visible;transition:opacity .28s ease, visibility 0s;}

.gd-rv-dialog{
  position:relative;width:100%;max-width:468px;max-height:calc(100vh - 40px);overflow:auto;
  background:var(--surface,#18181B);color:var(--text,#F4F4F5);
  border:1px solid rgba(255,215,0,.28);border-radius:20px;
  padding:34px 32px 26px;
  box-shadow:0 30px 80px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03) inset;
  font-family:var(--font-body,'Inter',system-ui,sans-serif);
  transform:translateY(18px) scale(.97);
  transition:transform .32s cubic-bezier(.23,1,.32,1);
}
.gd-rv-dialog::before{
  content:"";position:absolute;left:0;right:0;top:0;height:130px;border-radius:20px 20px 0 0;
  background:radial-gradient(420px 130px at 85% 0%,rgba(255,215,0,.16),transparent 70%);
  pointer-events:none;
}
.gd-rv-overlay.is-open .gd-rv-dialog{transform:none;}

.gd-rv-close{
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--text-dim,#A1A1AA);
  cursor:pointer;transition:color .2s,border-color .2s,background .2s;
}
.gd-rv-close:hover{color:var(--gold,#FFD700);border-color:var(--gold,#FFD700);}
.gd-rv-close:focus-visible,.gd-rv-btn:focus-visible,.gd-rv-wa:focus-visible,.gd-rv-skip:focus-visible,
.gd-rv-field input:focus-visible{outline:2px solid var(--gold,#FFD700);outline-offset:2px;}

.gd-rv-eyebrow{
  position:relative;font-family:var(--font-display,'Space Grotesk',sans-serif);font-weight:700;
  font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#FFD700);margin:0 0 10px;
}
.gd-rv-title{
  position:relative;font-family:var(--font-display,'Space Grotesk',sans-serif);font-weight:700;
  font-size:28px;line-height:1.1;letter-spacing:-.02em;margin:0 0 10px;padding-right:30px;
}
.gd-rv-title span{color:var(--gold,#FFD700);}
.gd-rv-sub{position:relative;font-size:15px;line-height:1.55;color:var(--text-dim,#A1A1AA);margin:0 0 20px;}

.gd-rv-form{position:relative;display:flex;flex-direction:column;gap:12px;}
.gd-rv-field{display:flex;flex-direction:column;gap:5px;}
.gd-rv-field label{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim,#A1A1AA);
}
.gd-rv-field input{
  width:100%;padding:13px 14px;border-radius:10px;
  background:var(--bg,#0A0A0B);color:var(--text,#F4F4F5);
  border:1px solid rgba(255,255,255,.14);
  font:inherit;font-size:16px; /* 16px stops iOS zoom-on-focus */
  transition:border-color .2s, box-shadow .2s;
}
.gd-rv-field input::placeholder{color:rgba(161,161,170,.65);}
.gd-rv-field input:focus{outline:none;border-color:var(--gold,#FFD700);box-shadow:0 0 0 3px rgba(255,215,0,.14);}
.gd-rv-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none;}

.gd-rv-btn{
  margin-top:4px;display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:15px 20px;border:0;border-radius:999px;cursor:pointer;
  background:var(--gold,#FFD700);color:#0A0A0B;
  font-family:var(--font-display,'Space Grotesk',sans-serif);font-weight:700;font-size:16px;letter-spacing:.01em;
  transition:transform .2s, box-shadow .2s, opacity .2s;
}
.gd-rv-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(255,215,0,.25);}
.gd-rv-btn:disabled{opacity:.65;cursor:progress;transform:none;box-shadow:none;}

.gd-rv-alt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap;}
.gd-rv-wa{
  display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text,#F4F4F5);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:1px;transition:color .2s,border-color .2s;
}
.gd-rv-wa:hover{color:var(--gold,#FFD700);border-color:var(--gold,#FFD700);}
.gd-rv-skip{
  background:none;border:0;padding:4px 2px;cursor:pointer;font:inherit;font-size:14px;color:var(--text-dim,#A1A1AA);
}
.gd-rv-skip:hover{color:var(--text,#F4F4F5);}
.gd-rv-note{position:relative;margin:14px 0 0;font-size:12px;color:rgba(161,161,170,.8);}

.gd-rv-error{
  display:none;font-size:13px;line-height:1.5;color:#FCA5A5;
  border:1px solid rgba(252,165,165,.35);background:rgba(252,165,165,.08);border-radius:10px;padding:10px 12px;
}
.gd-rv-error.show{display:block;}
.gd-rv-error a{color:var(--gold,#FFD700);}

.gd-rv-success{display:none;position:relative;text-align:center;padding:14px 4px 6px;}
.gd-rv-success.show{display:block;}
.gd-rv-success svg{display:block;margin:0 auto 14px;}
.gd-rv-success h3{font-family:var(--font-display,'Space Grotesk',sans-serif);font-size:24px;margin:0 0 8px;letter-spacing:-.01em;}
.gd-rv-success p{margin:0 0 18px;color:var(--text-dim,#A1A1AA);font-size:15px;line-height:1.55;}
.gd-rv-dialog.is-done .gd-rv-eyebrow,.gd-rv-dialog.is-done .gd-rv-title,.gd-rv-dialog.is-done .gd-rv-sub,
.gd-rv-dialog.is-done .gd-rv-form,.gd-rv-dialog.is-done .gd-rv-alt,.gd-rv-dialog.is-done .gd-rv-note{display:none;}

@media (max-width:560px){
  .gd-rv-overlay{align-items:flex-end;padding:0;}
  .gd-rv-dialog{max-width:none;border-radius:20px 20px 0 0;border-bottom:0;padding:30px 20px calc(22px + env(safe-area-inset-bottom));
    max-height:92vh;transform:translateY(40px);}
  .gd-rv-dialog::before{border-radius:20px 20px 0 0;}
  .gd-rv-title{font-size:25px;}
}
@media (prefers-reduced-motion:reduce){
  .gd-rv-overlay,.gd-rv-dialog,.gd-rv-btn{transition:none!important;}
  .gd-rv-dialog{transform:none!important;}
}

/* Offer callout in the contact section (index) */
.contact-offer{
  margin:18px 0;padding:14px 16px;border:1px solid rgba(255,215,0,.28);border-left:3px solid var(--gold,#FFD700);
  border-radius:10px;background:rgba(255,215,0,.05);font-size:15px;line-height:1.55;color:var(--text,#F4F4F5);
}
.contact-offer strong{font-family:var(--font-display,'Space Grotesk',sans-serif);color:var(--gold,#FFD700);}
.contact-offer a{color:var(--gold,#FFD700);text-decoration:none;white-space:nowrap;border-bottom:1px solid rgba(255,215,0,.4);}
.contact-offer a:hover{border-bottom-color:var(--gold,#FFD700);}
