.ourb-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:25px}
@media(max-width:1024px){.ourb-grid{grid-template-columns:repeat(var(--cols-tablet),1fr)}}
@media(max-width:768px){.ourb-grid{grid-template-columns:repeat(var(--cols-mobile),1fr)}}

.ourb-card{background:#fff;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.05);transition:transform .25s ease}
.ourb-grid .ourb-card:hover{transform:translateY(-6px)}
.ourb-related .ourb-card:hover{transform:none}

.ourb-thumb{height:var(--img-h);display:block;overflow:hidden;position:relative}
.ourb-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;display:block}
.ourb-grid .ourb-card:hover .ourb-thumb img{transform:scale(1.08)}
.ourb-related .ourb-card:hover .ourb-thumb img{transform:scale(1.05)}
.ourb-thumb:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.5))}

.ourb-content{padding:20px}
.ourb-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ourb-title{margin:0;font-size:18px;line-height:1.2}
.ourb-excerpt{margin:12px 0 0}

/* Perfect circle arrow (Elementor can override bg/color/radius) */
.ourb-arrow{
  width:46px;height:46px;aspect-ratio:1/1;border-radius:999px;background:#004aad;color:#fff;
  display:flex;align-items:center;justify-content:center;padding:0;line-height:0;flex:0 0 46px;text-decoration:none
}
.ourb-arrow-icon{display:flex;align-items:center;justify-content:center;transition:transform .35s cubic-bezier(.4,0,.2,1);will-change:transform}
.ourb-arrow svg{width:24px;height:24px;display:block}
.ourb-arrow i{font-size:24px;line-height:1;display:block}

.ourb-grid .ourb-card:hover .ourb-arrow-icon{transform:rotate(-45deg) translateX(6px) scale(1.05)}
.ourb-related .ourb-card:hover .ourb-arrow-icon{transform:rotate(-45deg) translateX(4px) scale(1.05)}

.ourb-badge{position:absolute;top:15px;background:#004aad;color:#fff;padding:6px 14px;font-size:12px;border-radius:5px;z-index:2}
.badge-left{left:15px}
.badge-right{right:15px}

.ourb-filters{margin-bottom:20px;display:flex;gap:10px;flex-wrap:wrap}
.ourb-filters button{padding:8px 18px;border-radius:6px;border:1px solid #ddd;background:#004aad;cursor:pointer}
.ourb-filters button.active{background:#004aad;border-color:#004aad;color:#fff}

.ourb-masonry{column-count:var(--cols);column-gap:25px}
.ourb-masonry .ourb-card{break-inside:avoid;margin-bottom:25px;display:inline-block;width:100%}

.ourb-grid article{animation:fadeIn .35s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.ourb-related-title{margin:30px 0 18px}
.ourb-related-grid{display:grid;grid-template-columns:repeat(var(--rel-cols),1fr);gap:25px}
@media(max-width:1024px){.ourb-related-grid{grid-template-columns:repeat(var(--rel-cols-tablet),1fr)}}
@media(max-width:768px){.ourb-related-grid{grid-template-columns:repeat(var(--rel-cols-mobile),1fr)}}
.ourb-related .ourb-thumb{height:var(--img-h,220px)}

/* Share — controlled by CSS variables */
.ourb-share{
  --ourb-share-bg:#fff;
  --ourb-share-color:#0b2a6f;
  --ourb-share-border:#0b2a6f;
  --ourb-share-radius:6px;

  float:right;margin:10px 0 20px 25px;display:flex;flex-direction:column;align-items:center;gap:10px
}
.ourb-share-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ourb-share-color)}

.ourb-share-btn{
  width:34px;height:34px;aspect-ratio:1/1;
  border:1px solid var(--ourb-share-border);
  border-radius:var(--ourb-share-radius);
  background:var(--ourb-share-bg);
  color:#004aad;
  display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;line-height:0;padding:0
}
.ourb-share-btn:hover{background:var(--ourb-share-color);color:#fff}

.ourb-share-btn svg{display:block}
.ourb-share-btn i{font-size:16px;line-height:1}

.ourb-copy-toast{font-size:12px;color:var(--ourb-share-color);min-height:14px;margin-top:4px}

@media(max-width:900px){
  .ourb-share{float:none;flex-direction:row;justify-content:flex-start;margin:0 0 16px 0}
  .ourb-share-label{margin-right:10px}
}

/* Share icon fallback: no Font Awesome / no inline SVG dependency */
.ourb-share-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:700;
  font-size:16px;
  line-height:1;
  color:inherit;
}
.ourb-share-icon-email{font-size:17px;font-weight:600}
.ourb-share-icon-facebook{font-size:21px;font-family:Arial, Helvetica, sans-serif;font-weight:700}
.ourb-share-icon-x{font-size:16px;font-weight:800}
.ourb-share-icon-linkedin{font-size:14px;font-weight:800;letter-spacing:-.04em;text-transform:lowercase}
.ourb-share-icon-copy{font-size:18px;font-weight:700}
.ourb-share-icon-whatsapp{font-size:17px;font-weight:700}
.ourb-share-icon-telegram{font-size:17px;font-weight:700}
