/* Painel base */
.wccg-panel {
  padding: .75rem;
  width: min(90vw, 360px);
  max-height: min(70vh, 480px);
  overflow-y: auto;       /* só vertical */
  overflow-x: hidden;     /* sem scroll horizontal */
  box-sizing: border-box;
}

/* Barra de pesquisa (oculta por defeito; o JS ativa quando necessário) */
.wccg-search-wrap {
  display: none;          /* oculto por defeito */
  position: sticky;
  top: 0;
  background: inherit;
  padding-bottom: .5rem;
  margin-bottom: .5rem;
  border-bottom: 1px solid rgba(0,0,0,.08);
  z-index: 1;
}
/* Quando o painel “precisa” de pesquisa, o JS adiciona .has-search ao .wccg-panel */
.wccg-panel.has-search .wccg-search-wrap {
  display: block;
}

.wccg-search {
  width: 100%;
  padding: .5rem .75rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.25;
  box-sizing: border-box; /* evita overflow por padding */
}

/* Lista de países */
.wccg-country-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 2px;
}
.wccg-country-list li {
  margin: 0;
  min-width: 0; /* previne overflow em grids flexíveis */
}

/* Botões */
.wccg-country-option {
  display: block;
  width: 100%;
  max-width: 100%;      /* garante que nunca alarga */
  text-align: left;
  padding: .5rem .6rem;
  border-radius: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.3;
  white-space: normal;  /* quebra linhas longas */
  word-break: break-word;
}
.wccg-country-option:hover,
.wccg-country-option:focus {
  outline: none;
  background: rgba(0,0,0,.05);
}
.wccg-country-option[aria-current="true"] {
  font-weight: 600;
}

/* Estado vazio */
.wccg-empty {
  margin: .5rem 0 0;
  color: #666;
  font-size: .9em;
}

/* Summary */
.wccg-compact > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .5rem;
  overflow: hidden;       /* evita qualquer bleed horizontal no summary */
}
.wccg-compact > summary::-webkit-details-marker { display: none; }
.wccg-label { font-size: 12px; letter-spacing: .04em; color: #bc955c; }
.wccg-current-country { font-weight: 600; }
.wccg-chevron { transform: rotate(90deg); transition: transform .2s ease; }
.wccg-compact[open] > summary .wccg-chevron { transform: rotate(-90deg); }

/* Dropup */
.wccg-compact.dropup .wccg-panel { /* espaço para ajustes, se precisares */ }
