.cg-cl-public{--cg-gap:14px}
.cg-cl-layout{display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:start}
.cg-cl-layout.no-map{grid-template-columns:1fr}
.cg-cl-left{min-width:0}
.cg-cl-right{min-width:0}
@media (max-width:980px){.cg-cl-layout{grid-template-columns:1fr}}
.cg-cl-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.cg-cl-tab{border:1px solid #e5e7eb;background:#f9fafb;color:#111827;border-radius:999px;padding:8px 12px;cursor:pointer}
.cg-cl-tab.is-active{background:#111827;color:#fff;border-color:#111827}
.cg-cl-results{min-height:140px}
.cg-cl-loading,.cg-cl-empty,.cg-cl-hint{padding:14px;border:1px dashed #e5e7eb;border-radius:12px;color:#6b7280;background:#fafafa}
.cg-cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--cg-gap)}
.cg-cl-card{position:relative;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center;cursor:default;overflow:hidden;box-shadow:none}
.cg-cl-card.is-vigente{cursor:pointer}
/* glow solo en el borde */
.cg-cl-card.is-vigente::before{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:linear-gradient(90deg, rgba(34,197,94,0) 0%, rgba(34,197,94,.95) 50%, rgba(34,197,94,0) 100%);background-size:200% 100%;animation:cgBorderGlow 2.4s linear infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.cg-cl-card.is-vigente::after{content:"";position:absolute;inset:0;border-radius:16px;border:1px solid rgba(34,197,94,.55);pointer-events:none}
@keyframes cgBorderGlow{0%{background-position:200% 0}100%{background-position:-200% 0}}
.cg-cl-logo{width:88px;height:60px;display:flex;align-items:center;justify-content:center}
.cg-cl-logo img{max-width:100%;max-height:100%;object-fit:contain}
.cg-cl-logo-placeholder{width:88px;height:60px;border-radius:12px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;color:#6b7280;font-weight:700}
.cg-cl-name{font-weight:700;color:#111827}
.cg-cl-badge{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:max-content;font-size:12px;border-radius:999px;padding:4px 10px;border:1px solid #e5e7eb;line-height:1.2;white-space:nowrap}
.cg-cl-badge-vigente{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.cg-cl-badge-novig{background:#f3f4f6;color:#374151}
.cg-cl-map-wrap{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:10px;position:sticky;top:18px}
.cg-cl-map-wrap svg{width:100%;height:auto;display:block}
.cg-cl-map-wrap svg [id], .cg-cl-map-wrap svg [data-country], .cg-cl-map-wrap svg [data-code]{pointer-events:all;cursor:pointer;transition:fill .15s ease, stroke .15s ease}
.cg-map-active{fill:var(--cg-map-active-fill) !important;stroke:var(--cg-map-active-stroke) !important;stroke-width:1.5px !important}
.cg-cl-map-wrap svg [id]:hover,.cg-cl-map-wrap svg [data-country]:hover,.cg-cl-map-wrap svg [data-code]:hover{fill:var(--cg-map-hover-fill) !important}
#cg-cl-public-modal{position:fixed;inset:0;z-index:99999}
#cg-cl-public-modal .cg-cl-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}
#cg-cl-public-modal .cg-cl-modal-content{position:relative;background:#fff;width:min(1020px,92vw);max-height:90vh;overflow:auto;margin:5vh auto;border-radius:14px;padding:16px}
#cg-cl-public-modal .cg-cl-modal-close{position:absolute;right:10px;top:10px;background:transparent;border:0;font-size:24px;cursor:pointer}
.cg-cl-modal-header{padding-right:32px}
.cg-cl-modal-title{font-weight:800;font-size:18px;color:#111827}
.cg-cl-modal-sub{color:#6b7280;margin-top:2px}
.cg-cl-modal-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;margin-top:12px;align-items:start}
.cg-cl-modal-image img{width:100%;max-height:520px;object-fit:contain;border-radius:12px;border:1px solid #e5e7eb;background:#fff}
.cg-cl-modal-side{display:flex;flex-direction:column;gap:10px}
.cg-cl-modal-meta{display:grid;gap:8px;color:#111827;border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fafafa}
.cg-cl-modal-fallback{margin-top:4px;color:#6b7280}
@media (max-width:760px){.cg-cl-modal-grid{grid-template-columns:1fr}}
@media (max-width:520px){.cg-cl-grid{grid-template-columns:1fr 1fr}}
