/* GMB Review Manager - public styles */
.grm-grid{
  display:grid;
  grid-template-columns:repeat(var(--grm-cols,3),1fr);
  gap:var(--grm-gap,20px);
  font-family:inherit;
}
.grm-card{
  background:var(--grm-bg,#fff);
  color:var(--grm-text,#1f2937);
  border-radius:var(--grm-radius,12px);
  padding:var(--grm-pad,24px);
  font-size:var(--grm-font,16px);
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  transition:transform .18s ease, box-shadow .18s ease;
}
.grm-card-title{margin:0 0 10px;font-size:1.15em;line-height:1.3;color:inherit;}
.grm-card-text{flex:1 1 auto;line-height:1.6;margin-bottom:18px;overflow-wrap:break-word;}
.grm-btn{
  align-self:flex-start;
  background:var(--grm-accent,#2563eb);
  color:#fff;
  border:none;
  cursor:pointer;
  font-size:1em;
  font-weight:600;
  padding:12px 24px;
  transition:filter .15s ease, transform .12s ease;
}
.grm-btn:hover{filter:brightness(1.1);}
.grm-btn:active{transform:scale(.97);}
.grm-btn.grm-shape-square{border-radius:0;}
.grm-btn.grm-shape-rounded{border-radius:8px;}
.grm-btn.grm-shape-pill{border-radius:999px;}

/* styles */
.grm-style-flat .grm-card{border:1px solid rgba(0,0,0,.08);}
.grm-style-elevated .grm-card{border:1px solid rgba(0,0,0,.05);}
.grm-style-outline .grm-card{background:transparent;border:2px solid var(--grm-accent,#2563eb);}
.grm-style-outline .grm-card-text{color:var(--grm-text);}
.grm-style-soft .grm-card{background:color-mix(in srgb, var(--grm-accent,#2563eb) 7%, #fff);}
.grm-style-gradient .grm-card{
  background:linear-gradient(135deg, color-mix(in srgb, var(--grm-accent,#2563eb) 14%, var(--grm-bg,#fff)) 0%, var(--grm-bg,#fff) 70%);
  border:1px solid color-mix(in srgb, var(--grm-accent,#2563eb) 25%, transparent);
}

/* shadows */
.grm-shadow-sm .grm-card{box-shadow:0 1px 3px rgba(0,0,0,.10);}
.grm-shadow-md .grm-card{box-shadow:0 4px 14px rgba(0,0,0,.12);}
.grm-shadow-lg .grm-card{box-shadow:0 10px 30px rgba(0,0,0,.16);}
.grm-card:hover{transform:translateY(-3px);}

/* responsive */
@media (max-width:782px){
  .grm-grid{grid-template-columns:repeat(var(--grm-mcols,1),1fr)!important;}
}
.grm-mobile-cols-2{--grm-mcols:2;}

/* toast */
.grm-toast{
  position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);
  background:#1f2937;color:#fff;padding:12px 22px;border-radius:10px;
  font-size:15px;opacity:0;pointer-events:none;transition:all .25s ease;
  z-index:999998;max-width:90vw;text-align:center;
}
.grm-toast.grm-show{opacity:1;transform:translateX(-50%) translateY(0);}

/* modal */
.grm-modal-overlay{
  position:fixed;inset:0;background:rgba(15,23,42,.6);z-index:999999;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.grm-modal{
  background:#fff;border-radius:14px;max-width:420px;width:100%;
  padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.3);
  animation:grmPop .2s ease;
}
@keyframes grmPop{from{transform:scale(.94);opacity:0;}to{transform:scale(1);opacity:1;}}
.grm-modal h3{margin:0 0 6px;font-size:19px;color:#111827;}
.grm-modal .grm-count{color:#6b7280;font-size:14px;margin-bottom:16px;}
.grm-modal .grm-count strong{color:var(--grm-accent,#2563eb);}
.grm-modal button.grm-choice{
  display:block;width:100%;text-align:left;margin-bottom:10px;
  background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;
  padding:13px 16px;font-size:15px;cursor:pointer;color:#111827;transition:all .12s ease;
}
.grm-modal button.grm-choice:hover{background:var(--grm-accent,#2563eb);color:#fff;border-color:var(--grm-accent,#2563eb);}
.grm-modal .grm-cancel{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:13px;margin-top:6px;text-decoration:underline;}
.grm-empty{padding:30px;text-align:center;color:#6b7280;}
