.cg-cc-public{
  --cg-card-width:320px;--cg-gap:16px;--cg-photo-size:110px;--cg-bg:#fff;--cg-border:#e5e7eb;--cg-hover:0 10px 25px rgba(0,0,0,.08);
  --cg-name-color:#111827;--cg-name-size:16px;--cg-country-color:#6b7280;--cg-country-size:13px;
  --cg-icon-color:#111827;--cg-icon-bg:#fff;--cg-icon-border:#e5e7eb;--cg-icon-hover-color:#fff;--cg-icon-hover-bg:#111827;
}
.cg-cc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}
.cg-cc-tab{border:1px solid var(--cg-border);background:#f9fafb;color:#111827;border-radius:999px;padding:8px 12px;cursor:pointer}
.cg-cc-tab.is-active{background:#111827;color:#fff;border-color:#111827}
.cg-cc-panel{display:none}
.cg-cc-panel.is-active{display:block}
.cg-cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--cg-card-width),100%),1fr));gap:var(--cg-gap)}
.cg-cc-card{border:1px solid var(--cg-border);background:var(--cg-bg);border-radius:14px;padding:16px;display:flex;gap:14px;align-items:center;transition:transform .15s ease, box-shadow .15s ease}
.cg-cc-card:hover{transform:translateY(-2px);box-shadow:var(--cg-hover)}
.cg-cc-photo{width:var(--cg-photo-size);height:var(--cg-photo-size);border-radius:999px;overflow:hidden;flex:0 0 var(--cg-photo-size);background:#f3f4f6;display:flex;align-items:center;justify-content:center}
.cg-cc-photo img{width:100%;height:100%;display:block}
.cg-cc-photo-placeholder{font-weight:700;color:#6b7280}
.cg-cc-name{font-weight:700;font-size:var(--cg-name-size);color:var(--cg-name-color)}
.cg-cc-country{font-size:var(--cg-country-size);color:var(--cg-country-color);margin-top:2px}
.cg-cc-icons{display:flex;gap:10px;margin-top:10px}
.cg-cc-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--cg-icon-border);color:var(--cg-icon-color);background:var(--cg-icon-bg);text-decoration:none}
.cg-cc-ico:hover{background:var(--cg-icon-hover-bg);color:var(--cg-icon-hover-color);border-color:var(--cg-icon-hover-bg)}
@media (max-width:520px){
  .cg-cc-card{flex-direction:column;text-align:center}
  .cg-cc-icons{justify-content:center}
}

/* === CG_CC_ELEMENTOR_FORCE_DESKTOP_START ===
   Fix Elementor frontend: evita que scripts/estilos antiguos activen carrusel m¨®vil
   y fuercen cards/men¨² demasiado angostos en escritorio/tablet. */
.cg-cc-public .cg-cc-country-carousel,
.cg-cc-country-carousel,
.cg-cc-public.cg-cc-no-mobile-carousel .cg-cc-country-carousel{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

.cg-cc-public,
.elementor-widget-shortcode .cg-cc-public,
.elementor-shortcode .cg-cc-public,
.elementor .cg-cc-public{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

.cg-cc-public > .cg-cc-tabs,
.elementor .cg-cc-public > .cg-cc-tabs{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

.cg-cc-public .cg-cc-panels,
.cg-cc-public .cg-cc-panel,
.cg-cc-public .cg-cc-grid{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

@media (min-width:601px){
  .cg-cc-public.cg-cc-layout-vertical,
  .elementor .cg-cc-public.cg-cc-layout-vertical{
    display:grid !important;
    grid-template-columns:var(--cg-v-width,244px) minmax(0,1fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  .cg-cc-public.cg-cc-layout-vertical > .cg-cc-tabs,
  .elementor .cg-cc-public.cg-cc-layout-vertical > .cg-cc-tabs{
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    width:var(--cg-v-width,244px) !important;
    min-width:var(--cg-v-width,244px) !important;
    max-width:var(--cg-v-width,244px) !important;
    overflow:visible !important;
    position:sticky !important;
    top:18px !important;
    background:var(--cg-v-menu-bg,#fff) !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-tab,
  .elementor .cg-cc-public.cg-cc-layout-vertical .cg-cc-tab{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:64px !important;
    flex:0 0 auto !important;
    white-space:normal !important;
    text-align:left !important;
    border-bottom:0 !important;
    border-left:var(--cg-v-border-width,3px) solid transparent !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-tab:hover{
    border-left-color:var(--cg-tab-hover-border,#ff2338) !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-tab.is-active{
    border-left-color:var(--cg-tab-active-border,#ff2338) !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-panels,
  .elementor .cg-cc-public.cg-cc-layout-vertical .cg-cc-panels{
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-grid,
  .elementor .cg-cc-public.cg-cc-layout-vertical .cg-cc-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(min(var(--cg-card-width,320px),100%),1fr)) !important;
    gap:var(--cg-gap,16px) !important;
  }

  .cg-cc-public.cg-cc-layout-vertical .cg-cc-card,
  .elementor .cg-cc-public.cg-cc-layout-vertical .cg-cc-card{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }
}

@media (max-width:600px){
  .cg-cc-public.cg-cc-layout-vertical{
    display:block !important;
    padding:18px !important;
  }
  .cg-cc-public.cg-cc-layout-vertical > .cg-cc-tabs{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    position:static !important;
    margin:0 0 14px !important;
  }
  .cg-cc-public.cg-cc-layout-vertical .cg-cc-tab{
    width:auto !important;
    min-height:auto !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
    text-align:center !important;
    border-left:0 !important;
    border-bottom:var(--cg-v-border-width,3px) solid transparent !important;
  }
  .cg-cc-public.cg-cc-layout-vertical .cg-cc-grid{
    grid-template-columns:1fr !important;
  }
}
/* === CG_CC_ELEMENTOR_FORCE_DESKTOP_END === */
