:root{
  --jg-azul:#0F2A4A;
  --jg-azul-2:#163B66;
  --jg-verde:#1FA971;
  --jg-dorado:#E0A800;
  --jg-gris:#F4F6F9;
}
body{background:var(--jg-gris);color:#1d2733;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
a{color:var(--jg-azul-2);}

/* Header */
.jg-header{background:var(--jg-azul);}
.jg-header .navbar{padding-top:.6rem;padding-bottom:.6rem;}
.jg-header .nav-link{color:#dfe7f1;}
.jg-header .nav-link:hover{color:#fff;}
.jg-logo{color:#fff;font-weight:800;letter-spacing:.3px;}
.jg-logo-img{height:46px;width:auto;background:#fff;padding:5px 12px;border-radius:12px;display:block;box-shadow:0 2px 8px rgba(0,0,0,.15);}
@media(max-width:575px){.jg-logo-img{height:38px;padding:4px 9px;}}
.jg-tag{display:block;font-size:.62rem;color:#9fb6d4;font-weight:400;margin-top:-2px;}
.navbar-brand{line-height:1.05;}

/* Hero */
.jg-hero{background:linear-gradient(135deg,var(--jg-azul),var(--jg-azul-2));color:#fff;padding:3.5rem 0 3rem;}
.jg-hero h1{font-weight:800;font-size:clamp(1.6rem,4vw,2.6rem);}
.jg-hero .jg-search{max-width:680px;}
.jg-hero .form-control{height:54px;border-radius:10px 0 0 10px;border:0;}
.jg-hero .btn{height:54px;border-radius:0 10px 10px 0;font-weight:600;}

/* Bloques de valor */
.jg-valor{background:#fff;border-radius:12px;padding:1.1rem;height:100%;border:1px solid #e7ecf3;}
.jg-valor .ico{font-size:1.4rem;}

/* Cards de sitio */
.jg-card{border:1px solid #e7ecf3;border-radius:12px;overflow:hidden;transition:transform .12s,box-shadow .12s;}
.jg-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(15,42,74,.12);}
.jg-card-thumb{position:relative;aspect-ratio:16/9;background:#e9eef5;overflow:hidden;}
.jg-card-thumb img{width:100%;height:100%;object-fit:cover;}
.jg-card-noimg{display:flex;align-items:center;justify-content:center;height:100%;font-size:2.4rem;font-weight:800;color:#9fb0c8;}
.jg-badge{position:absolute;top:8px;left:8px;font-size:.68rem;font-weight:700;padding:.2rem .5rem;border-radius:999px;color:#fff;}
.jg-badge-cert{background:var(--jg-verde);}
.jg-badge-dest{background:var(--jg-dorado);color:#3a2e00;}

/* Secciones */
.jg-section-title{font-weight:800;color:var(--jg-azul);}
.btn-warning{background:var(--jg-dorado);border-color:var(--jg-dorado);color:#3a2e00;}
.btn-jg-verde{background:var(--jg-verde);border-color:var(--jg-verde);color:#fff;}
.text-jg-verde{color:var(--jg-verde);}

/* Perfil */
.jg-perfil-hero{background:#fff;border-radius:14px;border:1px solid #e7ecf3;padding:1.5rem;}
.jg-estado{font-size:.75rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;}
.jg-estado.no_reclamado{background:#eef1f5;color:#5b6b7e;}
.jg-estado.reclamado{background:#dbeafe;color:#1e40af;}
.jg-estado.verificado{background:#d1fae5;color:#065f46;}
.jg-estado.certificado{background:var(--jg-verde);color:#fff;}

/* Footer */
.jg-footer{background:#fff;border-top:1px solid #e7ecf3;}

/* Sello preview */
.jg-sello{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--jg-verde);border-radius:10px;padding:.5rem .8rem;background:#f3fbf7;}
.jg-sello .chk{color:var(--jg-verde);font-weight:800;}

/* Botón Google y separador en auth */
.btn-google{background:#fff;border:1px solid #dadce0;color:#3c4043;padding:11px;border-radius:8px;transition:box-shadow .15s,background .15s;}
.btn-google:hover{background:#f8f9fa;box-shadow:0 1px 4px rgba(0,0,0,.12);color:#3c4043;}
.jg-sep{position:relative;}
.jg-sep span{background:#fff;padding:0 12px;position:relative;z-index:1;}
.jg-sep::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e5e9f0;}

/* Card genérica (usada en admin, contacto, etc.) con padding interno */
.card{
  background:#fff;
  border:1px solid #e7ecf3;
  border-radius:12px;
  padding:1.25rem;
  margin-bottom:0;
}
/* Si la card ya trae .card-body (Bootstrap), el padding va en el body, no en el contenedor */
.card:has(.card-body){padding:0;}
.card .table-responsive{margin:-0.5rem -0.25rem;}
