/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 13 2025 | 15:21:53 */
/* ===== Responsive Grid ===== */
.legal-grid{
  display:grid;
  gap:18px;
  margin-top:25px;
  grid-template-columns:1fr;
}
@media (min-width:640px){
  .legal-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1100px){
  .legal-grid{ grid-template-columns:repeat(3,1fr); }
}

/* ===== Card ===== */
.legal-grid .legal-card{
  position:relative;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:12px;
  padding:18px 18px 76px 18px; /* desktop bottom space for CTA */
  min-height:260px;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.legal-grid .legal-card-body{ flex:1; }

/* Card hover / focus */
.legal-grid .legal-card:hover,
.legal-grid .legal-card:focus-within{
  border-color:#dcdcdc;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  transform:translateY(-1px);
}

/* Top icon */
.legal-grid .legal-card-icon{
  width:48px;height:48px;
  border-radius:10px;
  background:#f1f1f1;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:26px;
  margin-bottom:10px;
}

.legal-grid .legal-card h3{ margin:0 0 6px 0; font-size:1.05em; }
.legal-grid .legal-card p{ margin:0; color:#555; font-size:.92em; }

/* ===== CTA group & badges ===== */
.legal-grid .cta-group{
  position:absolute;
  left:16px;
  bottom:16px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.legal-grid .cta-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;                 /* slimmer buttons */
  background:#f3f3f3;
  border:1px solid #e0e0e0;
  color:#333!important;
  border-radius:8px;
  font-weight:600;
  font-size:0.9em;                  /* slightly smaller text */
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .06s ease;
}
.legal-grid .cta-badge:hover{
  background:#dbdbdb;
  border-color:#cfcfcf;
  color:#111!important;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
}
.legal-grid .cta-badge:active{ transform:translateY(1px); }
.legal-grid .cta-badge:focus-visible{
  outline:2px solid #aaa;
  outline-offset:2px;
}

.legal-grid .cta-icon{ font-size:1em; }

/* Prevent global link-hover repainting inside cards */
.legal-grid .legal-card a:hover{ text-decoration:none; }

/* ===== Mobile tweaks (<520px) ===== */
@media (max-width:520px){
  .legal-grid .legal-card{
    padding:14px;              /* remove bottom padding since CTAs flow */
    min-height:220px;          /* slightly shorter */
  }
  .legal-grid .legal-card-icon{
    width:38px;height:38px;font-size:20px;margin-bottom:6px;
  }
  .legal-grid .legal-card h3{ font-size:0.95em; }

  .legal-grid .cta-group{
    position:static;
    margin-top:6px;            /* reduced margin above buttons */
    width:100%;
    flex-direction:column;
    gap:4px;                   /* tighter spacing between stacked buttons */
  }
  .legal-grid .cta-badge{
    width:100%;
    justify-content:center;
    padding:8px 10px;          /* slimmer mobile button */
    font-size:0.88em;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .legal-grid .legal-card,
  .legal-grid .cta-badge{
    transition:none;
  }
}